Bug 1336763 - Don't ask content process for permission to unload a window if it never set an onbeforeunload event handler. r?dao
MozReview-Commit-ID: JfNz5SdKRTN
--- a/toolkit/content/widgets/remote-browser.xml
+++ b/toolkit/content/widgets/remote-browser.xml
@@ -297,16 +297,23 @@
});
]]>
</body>
</method>
<method name="permitUnload">
<body>
<![CDATA[
+ let { frameLoader } = this.QueryInterface(Components.interfaces.nsIFrameLoaderOwner);
+ let tabParent = frameLoader.tabParent;
+
+ if (!tabParent.hasBeforeUnload) {
+ return { permitUnload: true, timedOut: false };
+ }
+
const kTimeout = 5000;
let finished = false;
let responded = false;
let permitUnload;
let id = this._permitUnloadId++;
let mm = this.messageManager;
let Services = Components.utils.import("resource://gre/modules/Services.jsm", {}).Services;