| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Returns the sum of all values in the array. |
| Array.sum = function(array) { |
| var sum = 0; |
| for (var i = array.length - 1; i >= 0; i--) { |
| sum += array[i]; |
| } |
| return sum; |
| }; |
| |
| |
| function WriteReport(sessionLoader) { |
| var iterations = window.iterations; |
| var reportUrl = window.benchmarkConfiguration.reportUrl; |
| var resultsCollection = sessionLoader.getResultsCollection(); |
| var times = resultsCollection.getTotalTimes(); |
| var pages = resultsCollection.getPages(); |
| |
| reportUrl += "?n=" + iterations; |
| reportUrl += "&i=" + iterations * pages.length; // "cycles" |
| reportUrl += "&td=" + Array.sum(times); // total time |
| reportUrl += "&tf=" + 0; // fudge time |
| console.log('reportUrl: ' + reportUrl); |
| chrome.cookies.set({ |
| "url": reportUrl, |
| "name": "__pc_done", |
| "value": "1", |
| "path": "/", |
| }); |
| chrome.cookies.set({ |
| "url": reportUrl, |
| "name": "__pc_pages", |
| "value": pages.map(function(x) { |
| return x.replace(/=/g, "%3D"); |
| }).join(","), |
| "path": "/", |
| }); |
| chrome.cookies.set({ |
| "url": reportUrl, |
| "name": "__pc_timings", |
| "value": times.join(","), |
| "path": "/", |
| }); |
| |
| chrome.tabs.getSelected(null, function(tab) { |
| console.log("Navigate to the report."); |
| chrome.tabs.update(tab.id, {"url": reportUrl}, null); |
| }); |
| } |
| |
| AddBenchmarkCallback(WriteReport); |