mirror of
https://github.com/servo/servo.git
synced 2025-09-01 10:38:25 +01:00
Update web-platform-tests to revision c26470dac73f2df9d4822a0d3482f7eb1ebf57d9
This commit is contained in:
parent
7de87c487b
commit
4d3c932c47
648 changed files with 9014 additions and 4821 deletions
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>window.performance.now in shared workers</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
async_test(function(t) {
|
||||
const worker = new SharedWorker('support/WorkerSendingPerformanceNow.js');
|
||||
worker.port.onmessage = t.step_func(event => {
|
||||
const results = event.data;
|
||||
assert_true(results.length == 4);
|
||||
assert_equals(results[0], 'undefined',
|
||||
'workerStart not defined on the Worker object');
|
||||
assert_equals(results[1], 'object', 'self.performance is defined');
|
||||
assert_equals(results[2], 'function', 'self.performance.now is defined');
|
||||
assert_greater_than(results[3], 0, 'Time in the worker should be positive');
|
||||
assert_greater_than(window.performance.now(), results[3], 'Time in the worker should be before the current time in the main document');
|
||||
setupIframe();
|
||||
});
|
||||
window.iframeStartTime = 0;
|
||||
window.test_iframe = function(event) {
|
||||
const workerTime = event.data[3];
|
||||
assert_greater_than(workerTime, window.iframeStartTime,
|
||||
'Time since origin time should be greater in the shared worker than the iframe');
|
||||
t.done();
|
||||
}
|
||||
function setupIframe() {
|
||||
const iframe = document.createElement('iframe');
|
||||
document.body.appendChild(iframe);
|
||||
const script = iframe.contentWindow.document.createElement('script');
|
||||
script.innerHTML =
|
||||
'window.top.iframeStartTime = window.performance.now();' +
|
||||
'const worker = new SharedWorker("support/WorkerSendingPerformanceNow.js");' +
|
||||
'worker.port.onmessage = function(event) {' +
|
||||
' window.top.test_iframe(event);' +
|
||||
'};' +
|
||||
'worker.port.postMessage("");';
|
||||
iframe.contentWindow.document.body.appendChild(script);
|
||||
}
|
||||
worker.port.postMessage('');
|
||||
}, 'performance.now() exists in shared workers and reports reasonable times');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>performance.now in dedicated workers</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
async_test(function(t) {
|
||||
const worker = new Worker('support/WorkerSendingPerformanceNow.js');
|
||||
worker.onmessage = t.step_func_done(event => {
|
||||
const results = event.data;
|
||||
assert_true(results.length == 4);
|
||||
assert_equals(results[0], 'undefined',
|
||||
'workerStart not defined on the Worker object');
|
||||
assert_equals(results[1], 'object', "self.performance is defined");
|
||||
assert_equals(results[2], 'function', "self.performance.now is defined");
|
||||
assert_greater_than(results[3], 0, "Time in the worker should be positive");
|
||||
assert_greater_than(window.performance.now(), results[3], "Time in the worker should be before the current time in the main document");
|
||||
});
|
||||
worker.postMessage('');
|
||||
}, 'performance.now() exists in dedicated workers and reports reasonable times');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,22 @@
|
|||
function calcResponse() {
|
||||
const response = [
|
||||
typeof(workerStart),
|
||||
typeof(performance),
|
||||
typeof(performance.now),
|
||||
performance.now()
|
||||
];
|
||||
return response;
|
||||
}
|
||||
|
||||
self.onmessage = function(event) {
|
||||
postMessage(calcResponse());
|
||||
self.close();
|
||||
}
|
||||
|
||||
self.addEventListener("connect", function(event) {
|
||||
const port = event.ports[0];
|
||||
port.onmessage = function(event) {
|
||||
port.postMessage(calcResponse());
|
||||
port.close();
|
||||
};
|
||||
});
|
|
@ -16,6 +16,7 @@ test(function testPerformanceNow () {
|
|||
}, "Can use performance.now in workers");
|
||||
|
||||
test(function testPerformanceMark () {
|
||||
while (performance.now() == start) { }
|
||||
performance.mark("mark1");
|
||||
// Stall the minimum amount of time to ensure the marks are separate
|
||||
var now = performance.now();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue