55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
// 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);
|