diff options
Diffstat (limited to 'tools/page_cycler/common/start.js')
-rw-r--r-- | tools/page_cycler/common/start.js | 67 |
1 files changed, 41 insertions, 26 deletions
diff --git a/tools/page_cycler/common/start.js b/tools/page_cycler/common/start.js index 5f5f055..f43994e 100644 --- a/tools/page_cycler/common/start.js +++ b/tools/page_cycler/common/start.js @@ -2,23 +2,28 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// This script runs the page cycler. It assumes that __pages is an array -// containing the directories for various pages to exercise. +document.title = 'page cycler'; -document.title = "page cycler"; +// The __pages is assumed an array which containing the directories for +// various pages to exercise. Some page cycler tests don't have this variable. -var initialPage = __pages[0]; +var initialPage; +var hasVariablePages = (typeof __pages != 'undefined') && + (__pages instanceof Array); +if (hasVariablePages) + initialPage = __pages[0]; -document.cookie = "__navigated_to_report=0; path=/"; -document.cookie = "__pc_done=0; path=/"; -document.cookie = "__pc_pages=" + __pages + "; path=/"; -document.cookie = "__pc_timings=; path=/"; +document.cookie = '__navigated_to_report=0; path=/'; +document.cookie = '__pc_done=0; path=/'; +if (hasVariablePages) + document.cookie = '__pc_pages=' + __pages + '; path=/'; +document.cookie = '__pc_timings=; path=/'; var options = location.search.substring(1).split('&'); function getopt(name) { - var r = new RegExp("^" + name + "="); - for (i = 0; i < options.length; ++i) { + var r = new RegExp('^' + name + '='); + for (var i = 0; i < options.length; ++i) { if (options[i].match(r)) { return options[i].substring(name.length + 1); } @@ -27,29 +32,36 @@ function getopt(name) { } function start() { - var iterations = document.getElementById("iterations").value; + var iterations = document.getElementById('iterations').value; window.resizeTo(800, 800); var ts = (new Date()).getTime(); - var url = initialPage + "/index.html?n=" + iterations + "&i=0&p=0&ts=" + ts + "&td=0"; + var url = ''; + if (hasVariablePages) + url = initialPage + '/'; + url += 'index.html?n=' + iterations + '&i=0&p=0&ts=' + ts + '&td=0'; window.location = url; } function render_form() { - var form = document.createElement("FORM"); - form.setAttribute("action", "javascript:start()"); + var form = document.createElement('FORM'); + form.onsubmit = function(e) { + start(); + e.preventDefault(); + }; - var label = document.createTextNode("Iterations: "); + var label = document.createTextNode('Iterations: '); form.appendChild(label); - var input = document.createElement("INPUT"); - input.setAttribute("id", "iterations"); - var iterations = getopt("iterations"); - input.setAttribute("value", iterations ? iterations : "5"); + var input = document.createElement('INPUT'); + input.setAttribute('id', 'iterations'); + input.setAttribute('type', 'number'); + var iterations = getopt('iterations'); + input.setAttribute('value', iterations ? iterations : '5'); form.appendChild(input); - input = document.createElement("INPUT"); - input.setAttribute("type", "submit"); - input.setAttribute("value", "Start"); + input = document.createElement('INPUT'); + input.setAttribute('type', 'submit'); + input.setAttribute('value', 'Start'); form.appendChild(input); document.body.appendChild(form); @@ -58,10 +70,13 @@ function render_form() { render_form(); // should we start automatically? -if (location.search.match("auto=1")) { +if (location.search.match('auto=1')) { start(); } else { - document.write("<h3>Note: You must have started chrome with <tt>--enable-file-cookies --js-flags=\"--expose_gc\"</tt> for this test to work manually.</h3>"); - if (!window.gc) - document.write("<h3 style='color:red'>WARNING: window.gc is not defined. Test results may be unreliable!</h3>"); + if (!window.gc) { + document.write('<h3 style=\'color:red\'>WARNING: window.gc is not ' + + 'defined. Test results may be unreliable! You must ' + + 'started chrome also with <tt>--js-flags=\"--expose_gc\"' + + '</tt> for this test to work manually</h3>'); + } } |