blob: 7b1883c79a1f1d0268a1c28c4ddc4c5c9445b090 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Verify that postmessage tasks can be properly tracked.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
promise_test(t => {
const scriptId = scheduler.taskId;
const channel = new MessageChannel();
const frame = document.createElement("iframe");
frame.addEventListener("load", () => {
frame.contentWindow.postMessage("port", "*", [channel.port2]);
});
frame.src = "resources/messageport-postmessage-iframe.html";
document.body.appendChild(frame);
return new Promise((resolve, reject) => {
channel.port1.onmessage = e => {
try {
assert_equals(scheduler.isAncestor(e.data), "ancestor");
resolve();
} catch(e) {
reject(e);
}
}
});
}, "Same-origin iframe MessagePort postMessage task properly detects its parent task.");
</script>
</body>
</html>