let outerID = content.docShell.outerWindowID; function onOuterWindowDestroyed(subject, topic, data) { if (docShell) {
sendAsyncMessage("Test:Fail", "docShell is non-null");
}
let id = subject.QueryInterface(Ci.nsISupportsPRUint64).data;
sendAsyncMessage("Test:Event", ["outer-window-destroyed", id == outerID]); if (id == outerID) {
Services.obs.removeObserver(
onOuterWindowDestroyed, "outer-window-destroyed"
);
}
}
const EXPECTED = [ // Unload events on the BrowserChildGlobal. These come first so that the // docshell is available.
["unload", false, 2],
["unload", false, 2],
// pagehide and unload events for the top-level page.
["pagehide", true, 1],
["pagehide", true, 3],
["unload", true, 1],
// pagehide and unload events for the iframe.
["pagehide", false, 1],
["pagehide", false, 3],
["unload", false, 1],
// outer-window-destroyed for both pages.
["outer-window-destroyed", false],
["outer-window-destroyed", true],
];
function test() {
waitForExplicitFinish();
var newTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
gBrowser.selectedTab = newTab;
let browser = newTab.linkedBrowser;
let frameLoader = browser.frameLoader; Assert.notStrictEqual(frameLoader, null, "frameLoader looks okay");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.