Index: tools/telemetry/telemetry/internal/browser/network_quiescence.js |
diff --git a/tools/telemetry/telemetry/internal/browser/network_quiescence.js b/tools/telemetry/telemetry/internal/browser/network_quiescence.js |
deleted file mode 100644 |
index f317d6c1f1e1aa344157779af92273fc60a7d7ad..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/browser/network_quiescence.js |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// Copyright 2014 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. |
- |
-'use strict'; |
- |
-/** |
- * @fileoverview This file provides a JavaScript helper function that |
- * determines when network quiescence has been reached based on the time since |
- * the last resource was received. |
- */ |
-(function() { |
- |
- // Make executing this code idempotent. |
- if (window.__telemetry_testHasReachedNetworkQuiescence) { |
- return; |
- } |
- |
- // Some benchmarks patch window.performance to make it deterministic. |
- // Save the original performance object before it is patched. |
- var real_performance = window.performance; |
- |
- // Set the Resource Timing interface functions that will be used below |
- // to use whatever version is available currently regardless of vendor |
- // prefix. |
- real_performance.clearResourceTimings = |
- (real_performance.clearResourceTimings || |
- real_performance.mozClearResourceTimings || |
- real_performance.msClearResourceTimings || |
- real_performance.oClearResourceTimings || |
- real_performance.webkitClearResourceTimings); |
- |
- real_performance.getEntriesByType = |
- (real_performance.getEntriesByType || |
- real_performance.mozGetEntriesByType || |
- real_performance.msGetEntriesByType || |
- real_performance.oGetEntriesByType || |
- real_performance.webkitGetEntriesByType); |
- |
- // This variable will available to the function below and it will be |
- // persistent across different function calls. It stores the last |
- // entry in the list of PerformanceResourceTiming objects returned by |
- // real_performance.getEntriesByType('resource'). |
- // |
- // The reason for doing it this way is because the buffer for |
- // PerformanceResourceTiming objects has a limit, and once it's full, |
- // new entries are not added. We're only interested in the last entry, |
- // so we can clear new entries when they're added. |
- var lastEntry = null; |
- |
- // True when no resource has been loaded from the network for |
- //|QUIESCENCE_TIMEOUT_MS| milliseconds. This value is sticky. |
- var hasReachedQuiesence = false; |
- |
- // Time to wait before declaring network quiescence in milliseconds. |
- var QUIESCENCE_TIMEOUT_MS = 2000; |
- |
- /** |
- * This method uses the Resource Timing interface, which is described at |
- * http://www.w3.org/TR/resource-timing/. It determines whether the time |
- * since lodading any resources such as images and script files (including |
- * resources requested via XMLHttpRequest) has exceeded a threshold defined |
- # by |QUIESCENCE_TIMEOUT_MS|. |
- * |
- * @return {boolean} True if the time since either the load event, or the last |
- * resource was received after the load event exceeds the aforementioned |
- * threshold. This state is sticky, so once this function returns true for a |
- * given page, it will always return true. |
- */ |
- window.__telemetry_testHasReachedNetworkQuiescence = function() { |
- if (hasReachedQuiesence) { |
- return true; |
- } |
- |
- if (window.document.readyState !== 'complete') { |
- return false; |
- } |
- |
- var resourceTimings = real_performance.getEntriesByType('resource'); |
- if (resourceTimings.length > 0) { |
- lastEntry = resourceTimings.pop(); |
- real_performance.clearResourceTimings(); |
- } |
- |
- // The times for performance.now() and in the PerformanceResourceTiming |
- // objects are all in milliseconds since performance.timing.navigationStart, |
- // so we must also get load time in the same terms. |
- var timing = real_performance.timing; |
- var loadTime = timing.loadEventEnd - timing.navigationStart; |
- var lastResponseTimeMs = 0; |
- |
- // If there have been no resource timing entries, or the last entry was |
- // before the load event, then use the time since the load event. |
- if (!lastEntry || lastEntry.responseEnd < loadTime) { |
- lastResponseTimeMs = real_performance.now() - loadTime; |
- } else { |
- lastResponseTimeMs = real_performance.now() - lastEntry.responseEnd; |
- } |
- |
- if (lastResponseTimeMs >= QUIESCENCE_TIMEOUT_MS) { |
- hasReachedQuiesence = true; |
- } |
- |
- return hasReachedQuiesence; |
- } |
- |
-})(); |