diff --git a/tools/page_cycler/common/start.js b/tools/page_cycler/common/start.js index 5f5f05562e52ff..f43994e369f269 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("