mirror of
https://github.com/Feodor2/Mypal68.git
synced 2025-06-18 23:05:40 -04:00
39 lines
1004 B
JavaScript
39 lines
1004 B
JavaScript
// Forward iframe loaded event.
|
|
|
|
/* eslint-env mozilla/frame-script */
|
|
|
|
addEventListener(
|
|
"frames-loaded",
|
|
e => sendAsyncMessage("test:frames-loaded"),
|
|
true,
|
|
true
|
|
);
|
|
|
|
let requestObserver = {
|
|
observe(subject, topic, data) {
|
|
if (topic == "http-on-opening-request") {
|
|
// Get DOMWindow on all child docshells to force about:blank
|
|
// content viewers being created.
|
|
getChildDocShells().map(ds => {
|
|
ds
|
|
.QueryInterface(Ci.nsIInterfaceRequestor)
|
|
.getInterface(Ci.nsILoadContext).associatedWindow;
|
|
});
|
|
}
|
|
},
|
|
QueryInterface: ChromeUtils.generateQI([Ci.nsIObserver]),
|
|
};
|
|
Services.obs.addObserver(requestObserver, "http-on-opening-request");
|
|
addEventListener("unload", e => {
|
|
if (e.target == this) {
|
|
Services.obs.removeObserver(requestObserver, "http-on-opening-request");
|
|
}
|
|
});
|
|
|
|
function getChildDocShells() {
|
|
return docShell.getAllDocShellsInSubtree(
|
|
Ci.nsIDocShellTreeItem.typeAll,
|
|
Ci.nsIDocShell.ENUMERATE_FORWARDS
|
|
);
|
|
}
|