46 lines
1.4 KiB
HTML
46 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
|
|
description('This tests the order by which tasks are scheduled across documents of file URI documents.');
|
|
|
|
if (!window.internals)
|
|
testFailed('This test relies on window.internals');
|
|
else {
|
|
jsTestIsAsync = true;
|
|
logs = [];
|
|
|
|
frame1 = document.createElement('iframe');
|
|
document.body.appendChild(frame1);
|
|
|
|
frame2 = document.createElement('iframe');
|
|
frame2.src = 'resources/eventloop-helper.html';
|
|
frame2.addEventListener('load', runTest);
|
|
document.body.appendChild(frame2);
|
|
}
|
|
|
|
function runTest() {
|
|
internals.queueTask("DOMManipulation", () => logs.push('1'));
|
|
frame1.contentWindow.internals.queueTask("DOMManipulation", () => logs.push('2'));
|
|
internals.queueTask("DOMManipulation", () => logs.push('3'));
|
|
frame2.contentWindow.internals.queueTask("DOMManipulation", () => logs.push('4'));
|
|
frame1.contentWindow.internals.queueTask("DOMManipulation", () => logs.push('5'));
|
|
internals.queueTask("DOMManipulation", () => logs.push('6'));
|
|
|
|
setTimeout(() => {
|
|
shouldBeEqualToString('logs.join(", ")', '1, 2, 3, 4, 5, 6');
|
|
shouldBeTrue('internals.hasSameEventLoopAs(frame1.contentWindow)');
|
|
shouldBeTrue('internals.hasSameEventLoopAs(frame2.contentWindow)');
|
|
finishJSTest();
|
|
}, 100);
|
|
}
|
|
|
|
successfullyParsed = true;
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|