From 021c9ffb1f03bab865a8755698d6a0a3d739b6cc Mon Sep 17 00:00:00 2001 From: Grant Gayed Date: Fri, 27 Apr 2012 16:17:21 -0400 Subject: Bug 269198 - [Browser-IE] Cannot register a function for the whole browser's lifetime --- .../win32/org/eclipse/swt/browser/IE.java | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java index f1c407e6be..2a932269df 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java @@ -623,29 +623,26 @@ public void create(Composite parent, int style) { } case DownloadComplete: { /* - * IE feature. Some events that swt relies on are not sent when - * a page is refreshed as opposed to being navigated to. The - * workaround is to use DownloadComplete as an indication that a - * refresh has completed. - */ - if (!isRefresh) break; - isRefresh = false; - - /* - * NavigateComplete is not received for refreshes, so re-hook - * BrowserFunctions here. + * IE feature. Some events that swt relies on are not sent when + * a page is refreshed (as opposed to being navigated to). The + * workaround is to use DownloadComplete as an opportunity to + * do this work. */ + Enumeration elements = functions.elements (); while (elements.hasMoreElements ()) { BrowserFunction function = (BrowserFunction)elements.nextElement (); execute (function.functionString); } + if (!isRefresh) break; + isRefresh = false; + /* - * DocumentComplete is not received for refreshes, but clients may rely - * on this event for tasks like hooking javascript listeners, so send the - * event here. - */ + * DocumentComplete is not received for refreshes, but clients may rely + * on this event for tasks like hooking javascript listeners, so send the + * event here. + */ ProgressEvent progressEvent = new ProgressEvent(browser); progressEvent.display = browser.getDisplay(); progressEvent.widget = browser; -- cgit