blob: 105c06f8dbf748f68200c3b68e9e44dcf6c06650 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<html>
<head>
<meta charset="utf-8">
<script>
addEventListener("pageshow", function() {
var bc = new BroadcastChannel("browser_browsingContext");
function frameData() {
var win = SpecialPowers.wrap(frames[0]);
bc.postMessage(
{ framesLength: frames.length,
browsingContextId: win.docShell.browsingContext.id,
outerWindowId: win.docShell.outerWindowID
});
}
bc.onmessage = function(event) {
if (event.data == "createiframe") {
let frame = document.createElement("iframe");
frame.src = "dummy_page.html";
document.body.appendChild(frame);
frame.onload = frameData;
} else if (event.data == "nextpage") {
bc.close();
location.href = "onload_message.html";
} else if (event.data == "queryframes") {
frameData();
} else if (event.data == "close") {
bc.postMessage("closed");
bc.close();
window.close();
}
}
bc.postMessage("pageshow");
});
</script>
</head>
<body>
This file posts a message containing "pageshow" to a BroadcastChannel and
keep the channel open for commands.
</body>
</html>
|