1 // Forward iframe loaded event.
3 /* eslint-env mozilla/frame-script */
7 () => sendAsyncMessage("test:frames-loaded"),
12 let requestObserver = {
13 observe(subject, topic) {
14 if (topic == "http-on-opening-request") {
15 // Get DOMWindow on all child docshells to force about:blank
16 // content viewers being created.
17 getChildDocShells().map(ds => {
19 .QueryInterface(Ci.nsIInterfaceRequestor)
20 .getInterface(Ci.nsILoadContext).associatedWindow;
24 QueryInterface: ChromeUtils.generateQI(["nsIObserver"]),
26 Services.obs.addObserver(requestObserver, "http-on-opening-request");
27 addEventListener("unload", e => {
28 if (e.target == this) {
29 Services.obs.removeObserver(requestObserver, "http-on-opening-request");
33 function getChildDocShells() {
34 return docShell.getAllDocShellsInSubtree(
35 Ci.nsIDocShellTreeItem.typeAll,
36 Ci.nsIDocShell.ENUMERATE_FORWARDS