48 lines
1.2 KiB
HTML
48 lines
1.2 KiB
HTML
<!DOCTYPE html><!-- webkit-test-runner [ RequestIdleCallbackEnabled=true ] -->
|
|
<html>
|
|
<body>
|
|
<script src="../resources/js-test.js"></script>
|
|
<script>
|
|
|
|
description('This tests that when requestIdleCallback is enabled, requestIdleCallback is eventaully called in the order.');
|
|
|
|
jsTestIsAsync = true;
|
|
|
|
requestIdleCallbackIsCalled = false;
|
|
const iframe = document.createElement('iframe');
|
|
const logs = [];
|
|
|
|
iframe.onload = () => {
|
|
requestIdleCallback(() => {
|
|
requestIdleCallbackIsCalled = true;
|
|
logs.push('1.A1');
|
|
});
|
|
|
|
iframe.contentWindow.requestIdleCallback(() => {
|
|
requestIdleCallbackIsCalled = true;
|
|
logs.push('2.B1');
|
|
});
|
|
|
|
iframe.contentWindow.requestIdleCallback(() => {
|
|
requestIdleCallbackIsCalled = true;
|
|
logs.push('3.B2');
|
|
});
|
|
|
|
requestIdleCallback(() => {
|
|
requestIdleCallbackIsCalled = true;
|
|
logs.push('4.A2');
|
|
});
|
|
}
|
|
document.body.appendChild(iframe);
|
|
|
|
setTimeout(() => {
|
|
shouldBeTrue('requestIdleCallbackIsCalled');
|
|
shouldBe('logs.length', '4');
|
|
shouldBeEqualToString('logs.join(", ")', '1.A1, 2.B1, 4.A2, 3.B2');
|
|
finishJSTest();
|
|
}, 200);
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|