mirror of
https://github.com/servo/servo.git
synced 2025-08-18 11:55:39 +01:00
Update web-platform-tests to revision 44702f2bc8ea98bc32b5b244f2fe63c6ce66d49d
This commit is contained in:
parent
85fa6409bb
commit
c227604a2c
997 changed files with 45660 additions and 14650 deletions
|
@ -0,0 +1,37 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Document timelines</title>
|
||||
<link rel="help" href="https://w3c.github.io/web-animations/#document-timelines">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../../testcommon.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
async_test(function(t) {
|
||||
assert_true(document.timeline.currentTime > 0,
|
||||
'The current time is initially is positive');
|
||||
// document.timeline.currentTime should be set even before document
|
||||
// load fires. We expect this code to be run before document load and hence
|
||||
// the above assertion is sufficient.
|
||||
// If the following assertion fails, this test needs to be redesigned.
|
||||
assert_true(document.readyState !== 'complete',
|
||||
'Test is running prior to document load');
|
||||
|
||||
// Test that the document timeline's current time is measured from
|
||||
// navigationStart.
|
||||
//
|
||||
// We can't just compare document.timeline.currentTime to
|
||||
// window.performance.now() because currentTime is only updated on a sample
|
||||
// so we use requestAnimationFrame instead.
|
||||
window.requestAnimationFrame(function(rafTime) {
|
||||
t.step(function() {
|
||||
assert_equals(document.timeline.currentTime, rafTime,
|
||||
'The current time matches requestAnimationFrame time');
|
||||
});
|
||||
t.done();
|
||||
});
|
||||
}, 'Document timelines report current time relative to navigationStart');
|
||||
|
||||
</script>
|
|
@ -0,0 +1,74 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Timelines</title>
|
||||
<link rel="help" href="https://w3c.github.io/web-animations/#timelines">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../../testcommon.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_test(function(t) {
|
||||
const valueAtStart = document.timeline.currentTime;
|
||||
const timeAtStart = window.performance.now();
|
||||
while (window.performance.now() - timeAtStart < 50) {
|
||||
// Wait 50ms
|
||||
}
|
||||
assert_equals(document.timeline.currentTime, valueAtStart,
|
||||
'Timeline time does not change within an animation frame');
|
||||
return waitForAnimationFrames(1).then(function() {
|
||||
assert_greater_than(document.timeline.currentTime, valueAtStart,
|
||||
'Timeline time increases between animation frames');
|
||||
});
|
||||
}, 'Timeline time increases once per animation frame');
|
||||
|
||||
async_test(function(t) {
|
||||
const iframe = document.createElement('iframe');
|
||||
iframe.width = 10;
|
||||
iframe.height = 10;
|
||||
|
||||
iframe.addEventListener('load', t.step_func(() => {
|
||||
const iframeTimeline = iframe.contentDocument.timeline;
|
||||
const valueAtStart = iframeTimeline.currentTime;
|
||||
const timeAtStart = window.performance.now();
|
||||
while (iframe.contentWindow.performance.now() - timeAtStart < 50) {
|
||||
// Wait 50ms
|
||||
}
|
||||
assert_equals(iframeTimeline.currentTime, valueAtStart,
|
||||
'Timeline time within an iframe does not change within an '
|
||||
+ ' animation frame');
|
||||
|
||||
iframe.contentWindow.requestAnimationFrame(t.step_func_done(() => {
|
||||
assert_greater_than(iframeTimeline.currentTime, valueAtStart,
|
||||
'Timeline time within an iframe increases between animation frames');
|
||||
iframe.remove();
|
||||
}));
|
||||
}));
|
||||
|
||||
document.body.appendChild(iframe);
|
||||
}, 'Timeline time increases once per animation frame in an iframe');
|
||||
|
||||
async_test(function(t) {
|
||||
const startTime = document.timeline.currentTime;
|
||||
let firstRafTime;
|
||||
|
||||
requestAnimationFrame(function() {
|
||||
t.step(function() {
|
||||
assert_greater_than_equal(document.timeline.currentTime, startTime,
|
||||
'Timeline time should have progressed');
|
||||
firstRafTime = document.timeline.currentTime;
|
||||
});
|
||||
});
|
||||
|
||||
requestAnimationFrame(function() {
|
||||
t.step(function() {
|
||||
assert_equals(document.timeline.currentTime, firstRafTime,
|
||||
'Timeline time should be the same');
|
||||
});
|
||||
t.done();
|
||||
});
|
||||
}, 'Timeline time should be the same for all RAF callbacks in an animation'
|
||||
+ ' frame');
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue