Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(519)

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/performance-timeline-worker.js

Issue 2415873002: Import w3c tests for the service workers (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/performance-timeline-worker.js
diff --git a/third_party/WebKit/LayoutTests/http/tests/workers/resources/performance-timeline-worker.js b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/performance-timeline-worker.js
similarity index 75%
copy from third_party/WebKit/LayoutTests/http/tests/workers/resources/performance-timeline-worker.js
copy to third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/performance-timeline-worker.js
index 1075d5bbd8c27e1e336592f278957850af5e469e..6f7df75e9217861087f0419e9849d4bc5893ab24 100644
--- a/third_party/WebKit/LayoutTests/http/tests/workers/resources/performance-timeline-worker.js
+++ b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/performance-timeline-worker.js
@@ -1,24 +1,25 @@
-importScripts('../../resources/testharness.js');
+importScripts('/resources/testharness.js');
promise_test(function(test) {
var durationMsec = 100;
-
+ // There are limits to our accuracy here. Timers may fire up to a
+ // millisecond early due to platform-dependent rounding. In addition
+ // the performance API introduces some rounding as well to prevent
+ // timing attacks.
+ var accuracy = 1.5;
return new Promise(function(resolve) {
performance.mark('startMark');
setTimeout(resolve, durationMsec);
}).then(function() {
performance.mark('endMark');
performance.measure('measure', 'startMark', 'endMark');
-
var startMark = performance.getEntriesByName('startMark')[0];
var endMark = performance.getEntriesByName('endMark')[0];
var measure = performance.getEntriesByType('measure')[0];
-
assert_equals(measure.startTime, startMark.startTime);
assert_approx_equals(endMark.startTime - startMark.startTime,
measure.duration, 0.001);
- assert_greater_than(measure.duration, durationMsec);
-
+ assert_greater_than(measure.duration, durationMsec - accuracy);
assert_equals(performance.getEntriesByType('mark').length, 2);
assert_equals(performance.getEntriesByType('measure').length, 1);
performance.clearMarks('startMark');
@@ -29,21 +30,12 @@ promise_test(function(test) {
}, 'User Timing');
promise_test(function(test) {
- return fetch('../../resources/dummy.txt')
+ return fetch('dummy.txt')
.then(function(resp) {
return resp.text();
})
- .then(function(t) {
- // TODO(hiroshige): The resource timing entry for dummy.txt is added
- // about at the same time as, but not necessarily before,
- // |resp.text()| is resolved. https://crbug.com/507169
- // We add setTimeout() here as temporary fix.
- return new Promise(function(resolve, reject) {
- setTimeout(function() { resolve(t); }, 100);
- });
- })
- .then(function(t) {
- var expectedResources = ['/resources/testharness.js', '/resources/dummy.txt'];
+ .then(function(text) {
+ var expectedResources = ['testharness.js', 'dummy.txt'];
assert_equals(performance.getEntriesByType('resource').length, expectedResources.length);
for (var i = 0; i < expectedResources.length; i++) {
var entry = performance.getEntriesByType('resource')[i];

Powered by Google App Engine
This is Rietveld 408576698