mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Update web-platform-tests to revision d7afcb8708eac08a614d161d5622a48172daf7e3
This commit is contained in:
parent
6f8bb4dd40
commit
edff458e23
791 changed files with 17647 additions and 10322 deletions
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<script>
|
||||
window.addEventListener('load', () => {
|
||||
window.parent.postMessage('load');
|
||||
});
|
||||
|
||||
document.addEventListener('freeze', () => {
|
||||
window.parent.postMessage('freeze');
|
||||
});
|
||||
|
||||
document.addEventListener('resume', () => {
|
||||
window.parent.postMessage('resume');
|
||||
});
|
||||
|
||||
worker = new Worker("subframe_worker1.js");
|
||||
</script>
|
|
@ -0,0 +1,7 @@
|
|||
var bc = new BroadcastChannel('subworker_channel');
|
||||
|
||||
setInterval(() => {
|
||||
bc.postMessage('subworker');
|
||||
}, 10);
|
||||
|
||||
w2 = new Worker("subframe_worker2.js");
|
|
@ -0,0 +1,5 @@
|
|||
var bc = new BroadcastChannel('subworker_channel');
|
||||
|
||||
setInterval(() => {
|
||||
bc.postMessage('subworker2');
|
||||
}, 10);
|
|
@ -0,0 +1,66 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Child frame with worker marked as frozen</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<script>
|
||||
async_test((t) => {
|
||||
|
||||
var child = document.createElement('iframe');
|
||||
|
||||
var loaded = false;
|
||||
var frozen = false;
|
||||
var resumed = false;
|
||||
|
||||
var subworker_freeze_count = 0;
|
||||
var subworker2_freeze_count = 0;
|
||||
var subworker_count = 0;
|
||||
var subworker2_count = 0;
|
||||
var bc = new BroadcastChannel('subworker_channel');
|
||||
bc.onmessage = t.step_func((e) => {
|
||||
if (e.data == 'subworker') {
|
||||
subworker_count++;
|
||||
} else if (e.data == 'subworker2') {
|
||||
subworker2_count++;
|
||||
} else {
|
||||
assert_unreached('bad message');
|
||||
}
|
||||
|
||||
// Ensure that if we have resumed that we get at least
|
||||
// one message from each worker.
|
||||
if (loaded && frozen && resumed &&
|
||||
subworker2_count > subworker2_freeze_count &&
|
||||
subworker_count > subworker_freeze_count) {
|
||||
t.done();
|
||||
} else if (loaded && frozen && !resumed) {
|
||||
// Ensure that at most one message is sent after the frozen state.
|
||||
assert_true(subworker_count - subworker_freeze_count <= 1);
|
||||
assert_true(subworker2_count - subworker2_freeze_count <= 1);
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('message', t.step_func((e) => {
|
||||
if (e.data == "load") {
|
||||
loaded = true;
|
||||
} else if (e.data == "freeze") {
|
||||
assert_true(loaded);
|
||||
frozen = true;
|
||||
subworker_freeze_count = subworker_count;
|
||||
subworker2_freeze_count = subworker2_count;
|
||||
child.style = "display: block";
|
||||
} else if (e.data == "resume") {
|
||||
assert_true(loaded);
|
||||
assert_true(frozen);
|
||||
resumed = true;
|
||||
}
|
||||
}));
|
||||
|
||||
child.allow = "execution-while-not-rendered 'none'";
|
||||
child.src = "resources/subframe_worker.html";
|
||||
document.body.appendChild(child);
|
||||
child.style = "display: none";
|
||||
}, "Child frame frozen");
|
||||
|
||||
</script>
|
||||
</body>
|
Loading…
Add table
Add a link
Reference in a new issue