blob: a608400be4b1a80c6c1b3567e65cc99d191dc0a3 [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
test(function() {
var startTime = document.timeline.currentTime;
assert_greater_than_equal(startTime, 0);
var start = performance.now();
while (performance.now() < start + 250)
/* wait */;
assert_equals(document.timeline.currentTime, startTime);
}, 'document.timeline.currentTime should not change within a script block.');
(function() {
var timeoutTest = async_test('document.timeline.currentTime time should change after a script timeout');
var startTime = document.timeline.currentTime;
setTimeout(function() {
timeoutTest.step(function() {
assert_greater_than(document.timeline.currentTime, startTime);
});
timeoutTest.done();
}, 100);
})();
(function() {
var rafTest = async_test('document.timeline.currentTime time should be the same for all RAF callbacks in a frame');
var startTime = document.timeline.currentTime;
var firstRafTime;
requestAnimationFrame(function() {
rafTest.step(function() {
assert_greater_than_equal(document.timeline.currentTime, startTime);
firstRafTime = document.timeline.currentTime;
});
});
requestAnimationFrame(function() {
rafTest.step(function() {
assert_equals(document.timeline.currentTime, firstRafTime);
});
rafTest.done();
});
})();
(function() {
var timeoutTest = async_test('document.timeline.currentTime time should use the same reference as performance.now()');
setTimeout(function() {
timeoutTest.step(function() {
assert_less_than(Math.abs(document.timeline.currentTime - performance.now()), 1000);
});
timeoutTest.done();
}, 0);
})();
</script>