Revision: 6536 Author: [email protected] Date: Wed Oct 28 17:37:45 2009 Log: During a module transition, remove all enqueued JS jobs. Seems to fix the timeouts in UISuite.
Patch by: amitmanjhi Review by: rjrjr (desk review) http://code.google.com/p/google-web-toolkit/source/detail?r=6536 Modified: /trunk/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java ======================================= --- /trunk/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java Wed Oct 28 09:10:53 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java Wed Oct 28 17:37:45 2009 @@ -24,6 +24,7 @@ import com.google.gwt.dev.util.log.PrintWriterTreeLogger; import com.gargoylesoftware.htmlunit.ScriptResult; +import com.gargoylesoftware.htmlunit.WebWindow; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine; import com.gargoylesoftware.htmlunit.javascript.host.Window; @@ -209,8 +210,11 @@ currentUrl = getUrlBeforeHash(currentUrl); String newUrl = getUrlBeforeHash((String) args[0].getValue()); if (!newUrl.equals(currentUrl)) { - // TODO: removeAllJobs for all windows? - window.getWebWindow().getTopWindow().getJobManager().removeAllJobs(); + WebWindow webWindow = window.getWebWindow(); + do { + webWindow.getJobManager().removeAllJobs(); + webWindow = webWindow.getParentWindow(); + } while (webWindow != webWindow.getTopWindow()); } } result = jsEngine.callFunction(htmlPage, jsFunction, jsContext, window, --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
