Bug 867089 - Validate the playbackRate before using it. r=ehsan
[gecko.git] / tools / page-loader / echo.pl
blob2d74d115b2a0694417cebcbc095b5cac1c121763
1 #!/usr/bin/perl
2 #
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 use Time::HiRes qw(gettimeofday tv_interval);
8 sub encodeHiResTime {
9 my $timeref = shift;
10 return unless ref($timeref);
11 my $time = $$timeref[0] . "-" . $$timeref[1];
12 return $time;
15 my $time = encodeHiResTime([gettimeofday()]);
17 print "Content-type: text/html\n\n";
18 print <<"ENDOFHTML";
19 <html>
20 <head>
21 <script>
23 var gServerTime = '$time';
25 function tokenizeQuery() {
26 var query = {};
27 var pairs = document.location.search.substring(1).split('&');
28 for (var i=0; i < pairs.length; i++) {
29 var pair = pairs[i].split('=');
30 query[pair[0]] = unescape(pair[1]);
32 return query;
35 function setLocationHref(aHref, aReplace) {
36 if (aReplace)
37 document.location.replace(aHref);
38 else
39 document.location.href = aHref;
42 var gHref;
43 function doNextRequest(aTime) {
44 function getValue(arg,def) {
45 return !isNaN(arg) ? parseInt(Number(arg)) : def;
47 var q = tokenizeQuery();
48 var delay = getValue(q['delay'], 0);
50 var now = (new Date()).getTime();
51 var c_intvl = now - c_ts;
52 var c_ts = now + delay; // adjust for delay time
53 // Now make the request ...
54 if (q['url']) {
55 gHref = q['url'] +
56 "?c_part=" + -1 + // bogo request is not recorded
57 "&index=" + 0 +
58 "&id=" + q['id'] +
59 "&maxcyc=" + q['maxcyc'] +
60 "&replace=" + q['replace'] +
61 "&nocache=" + q['nocache'] +
62 "&delay=" + delay +
63 "&timeout=" + q['timeout'] +
64 "&c_intvl=" + c_intvl +
65 "&s_ts=" + gServerTime +
66 "&c_ts=" + c_ts;
67 window.setTimeout("setLocationHref(gHref,false);", delay);
68 return true;
72 function startTest() {
73 if (window.innerHeight && window.innerWidth) {
74 // force a consistent region for layout and painting.
75 window.innerWidth=820;
76 window.innerHeight=620;
78 doNextRequest(0);
81 window.setTimeout("startTest()", 1000);
83 </script>
84 </head>
85 <body>
86 <p>
87 This page starts the test.
88 </p>
89 <p>
90 dummy page dummy page dummy page dummy page dummy page dummy page
91 dummy page dummy page dummy page dummy page dummy page dummy page
92 dummy page dummy page dummy page dummy page dummy page dummy page
93 dummy page dummy page dummy page dummy page dummy page dummy page
94 </p>
95 <p>
96 dummy page dummy page dummy page dummy page dummy page dummy page
97 dummy page dummy page dummy page dummy page dummy page dummy page
98 dummy page dummy page dummy page dummy page dummy page dummy page
99 dummy page dummy page dummy page dummy page dummy page dummy page
100 </p>
102 dummy page dummy page dummy page dummy page dummy page dummy page
103 dummy page dummy page dummy page dummy page dummy page dummy page
104 dummy page dummy page dummy page dummy page dummy page dummy page
105 dummy page dummy page dummy page dummy page dummy page dummy page
106 </p>
107 </body>
108 </html>
110 ENDOFHTML
112 exit 0;