Index: webkit/tools/layout_tests/flakiness_dashboard.html |
=================================================================== |
--- webkit/tools/layout_tests/flakiness_dashboard.html (revision 25820) |
+++ webkit/tools/layout_tests/flakiness_dashboard.html (working copy) |
@@ -269,38 +269,16 @@ |
document.getElementsByTagName('head')[0].appendChild(script); |
} |
+ // Parse hash parameters. |
+ // Permalinkable state of the page. |
+ var currentState = {}; |
- // Parse query parameters. |
- var queryState = {'debug': false, 'testType': 'layout_test_results'}; |
- |
- function handleValidQueryParameter(key, value) { |
- switch (key) { |
- case 'testType': |
- validateParameter(queryState, key, value, |
- function() { |
- return isValidName(value); |
- }); |
- |
- return true; |
- |
- case 'debug': |
- queryState[key] = value == 'true'; |
- |
- return true; |
- |
- default: |
- return false; |
- } |
- } |
- |
- parseParameters(window.location.search.substring(1), |
- handleValidQueryParameter); |
- if (queryState['debug']) { |
+ if (stringContains(window.location.hash, "debug=true")) { |
// In debug mode point to the results.json and expectations.json in the |
// local tree. Useful for debugging changes to the python JSON generator. |
var builders = {'DUMMY_BUILDER_NAME': ''}; |
var builderBase = '../../Debug/'; |
- queryState['testType'] = 'layout-test-results'; |
+ currentState['testType'] = 'layout-test-results'; |
} else { |
// Map of builderName (the name shown in the waterfall) |
// to builderPath (the path used in the builder's URL) |
@@ -322,17 +300,14 @@ |
var builderBase = 'http://build.chromium.org/buildbot/'; |
} |
- // Parse hash parameters. |
- // Permalinkable state of the page. |
- var currentState = {}; |
- |
var defaultStateValues = { |
sortOrder: BACKWARD, |
sortColumn: 'flakiness', |
showWontFix: false, |
showCorrectExpectations: false, |
showFlaky: true, |
- maxResults: 200 |
+ maxResults: 200, |
+ testType: 'layout_test_results' |
}; |
for (var builder in builders) { |
@@ -353,6 +328,14 @@ |
function handleValidHashParameter(key, value) { |
switch(key) { |
+ case 'testType': |
+ validateParameter(currentState, key, value, |
+ function() { |
+ return isValidName(value); |
+ }); |
+ |
+ return true; |
+ |
case 'tests': |
validateParameter(currentState, key, value, |
function() { |
@@ -397,6 +380,7 @@ |
return true; |
+ case 'debug': |
case 'showWontFix': |
case 'showCorrectExpectations': |
case 'showFlaky': |
@@ -415,8 +399,6 @@ |
function parseAllParameters() { |
oldLocation = window.location.href; |
- parseParameters(window.location.search.substring(1), |
- handleValidQueryParameter); |
parseParameters(window.location.hash.substring(1), |
handleValidHashParameter); |
fillDefaultStateValues(); |
@@ -439,7 +421,7 @@ |
} |
function getPathToBuilderResultsFile(builderName) { |
- return builderBase + queryState['testType'] + '/' + |
+ return builderBase + currentState['testType'] + '/' + |
builders[builderName] + '/'; |
} |
@@ -1212,6 +1194,9 @@ |
$('max-results-input').value = currentState.maxResults; |
} |
+ var singleBuilderViewParameters = ['sortOrder', 'sortColumn', 'showWontFix', |
+ 'showCorrectExpectations', 'showFlaky: true', 'maxResults']; |
arv (Not doing code reviews)
2009/09/10 00:25:13
fix indentation
|
+ |
/** |
* Sets the page state and regenerates the page. Takes varargs of key, value |
* pairs. |
@@ -1220,7 +1205,7 @@ |
for (var i = 0; i < arguments.length; i = i + 2) { |
var key = arguments[i]; |
if (key == 'tests') { |
- for (var state in currentState) { |
+ for (var state in singleBuilderViewParameters) { |
delete currentState[state]; |
} |
} else { |
@@ -1242,8 +1227,7 @@ |
} |
function getPermaLinkURL() { |
- return window.location.pathname + '?' + joinParameters(queryState) + '#' + |
- joinParameters(currentState); |
+ return window.location.pathname + '#' + joinParameters(currentState); |
} |
function joinParameters(stateObject) { |