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
-~----------~----~----~----~------~----~------~--~---

Reply via email to