summaryrefslogtreecommitdiffstats
path: root/tools/page_cycler/common/start.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/page_cycler/common/start.js')
-rw-r--r--tools/page_cycler/common/start.js67
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>');
+ }
}