Dashboard Cleanup: Do not generate the page if we are about to reload.
authorjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Jan 2013 19:52:33 +0000 (19:52 +0000)
committerjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Jan 2013 19:52:33 +0000 (19:52 +0000)
https://bugs.webkit.org/show_bug.cgi?id=106584

Reviewed by Dirk Pranke.

Move the logic to determine if we should generate the page into
parseParameters() since that is where we have the knowledge to
determine it, and return that value to handleLocationChange,
rather than passing the changed parameters back to handleLocationChange
and having it make the decision.

This is logically equivalent, save one case: when we are about to do
a reload, we know that there is no reason to generate the page.  Old
code was causing an extra page generation in this case.

* TestResultServer/static-dashboards/dashboard_base.js:
(parseParameters):
(handleLocationChange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@139348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/TestResultServer/static-dashboards/dashboard_base.js

index 9400d07..df6ebc0 100644 (file)
@@ -1,3 +1,24 @@
+2013-01-10  Julie Parent  <jparent@chromium.org>
+
+        Dashboard Cleanup: Do not generate the page if we are about to reload.
+        https://bugs.webkit.org/show_bug.cgi?id=106584
+
+        Reviewed by Dirk Pranke.
+
+        Move the logic to determine if we should generate the page into
+        parseParameters() since that is where we have the knowledge to
+        determine it, and return that value to handleLocationChange, 
+        rather than passing the changed parameters back to handleLocationChange
+        and having it make the decision.
+        
+        This is logically equivalent, save one case: when we are about to do
+        a reload, we know that there is no reason to generate the page.  Old
+        code was causing an extra page generation in this case.
+        
+        * TestResultServer/static-dashboards/dashboard_base.js:
+        (parseParameters):
+        (handleLocationChange):
+
 2013-01-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
 
         [jhbuild] Use the "configure" script to build glib
index 9a9cd9e..1b53ca2 100644 (file)
@@ -315,6 +315,7 @@ function parseDashboardSpecificParameters()
         parseParameter(parameters, parameterName);
 }
 
+// @return {boolean} Whether to generate the page.
 function parseParameters()
 {
     var oldCrossDashboardState = g_crossDashboardState;
@@ -327,7 +328,7 @@ function parseParameters()
         for (var key in g_crossDashboardState) {
             if (oldCrossDashboardState[key] != g_crossDashboardState[key] && RELOAD_REQUIRING_PARAMETERS.indexOf(key) != -1) {
                 window.location.reload();
-                return {};
+                return false;
             }
         }
     }
@@ -348,7 +349,10 @@ function parseParameters()
     if (g_currentState.tests)
         delete g_currentState.builder;
 
-    return dashboardSpecificDiffState;
+    var shouldGeneratePage = true;
+    if (Object.keys(dashboardSpecificDiffState).length)
+        shouldGeneratePage = handleQueryParameterChange(dashboardSpecificDiffState);
+    return shouldGeneratePage;
 }
 
 function diffStates(oldState, newState)
@@ -509,12 +513,7 @@ function handleLocationChange()
     if (g_resourceLoader)
         return;
 
-    var params = parseParameters();
-    var shouldGeneratePage = true;
-    if (Object.keys(params).length)
-        shouldGeneratePage = handleQueryParameterChange(params);
-
-    if (shouldGeneratePage)
+    if (parseParameters())
         generatePage();
 }