Bug 1130411 - only care about unload if it involves the page we opened, r=jaws
authorGijs Kruitbosch <gijskruitbosch@gmail.com>
Mon, 16 Mar 2015 17:05:18 -0700
changeset 233861 cdf8e5b44c56fca7188b664ded8f7c41646f7ee5
parent 233860 f981a0bd0e1ca38963f46f69565f6c81e5eba580
child 233862 c4298f975b9a11ecd8185b7494b3a119264f4b6a
push id28425
push usercbook@mozilla.com
push dateTue, 17 Mar 2015 10:33:06 +0000
treeherdermozilla-central@a194e8023090 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjaws
bugs1130411
milestone39.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1130411 - only care about unload if it involves the page we opened, r=jaws
browser/components/preferences/in-content/subdialogs.js
--- a/browser/components/preferences/in-content/subdialogs.js
+++ b/browser/components/preferences/in-content/subdialogs.js
@@ -45,16 +45,17 @@ let gSubDialog = {
     let features = (!!aFeatures ? aFeatures + "," : "") + "resizable,dialog=no,centerscreen";
     let dialog = window.openDialog(aURL, "dialogFrame", features, aParams);
     if (aClosingCallback) {
       this._closingCallback = aClosingCallback.bind(dialog);
     }
 
     this._closingEvent = null;
     this._isClosing = false;
+    this._openedURL = aURL;
 
     features = features.replace(/,/g, "&");
     let featureParams = new URLSearchParams(features.toLowerCase());
     this._box.setAttribute("resizable", featureParams.has("resizable") &&
                                         featureParams.get("resizable") != "no" &&
                                         featureParams.get("resizable") != "0");
     return dialog;
   },
@@ -119,17 +120,17 @@ let gSubDialog = {
         this._onParentWinFocus(aEvent);
         break;
     }
   },
 
   /* Private methods */
 
   _onUnload: function(aEvent) {
-    if (aEvent.target.location.href != "about:blank") {
+    if (aEvent.target.location.href == this._openedURL) {
       this.close(this._closingEvent);
     }
   },
 
   _onContentLoaded: function(aEvent) {
     if (aEvent.target != this._frame || aEvent.target.contentWindow.location == "about:blank")
       return;