Bug 722994 - globalOverlay.js uses global Private Browsing state to control display of a prompt; r=ehsan

This commit is contained in:
Saurabh Anand 2012-06-19 01:57:26 +05:30
parent 2584092191
commit 49c11e7338

View File

@ -16,18 +16,19 @@ function closeWindow(aClose, aPromptFunction)
if (++windowCount == 2)
break;
}
var inPrivateBrowsing = false;
try {
if (["@mozilla.org/privatebrowsing;1"] in Components.classes) {
var pbSvc = Components.classes["@mozilla.org/privatebrowsing;1"]
.getService(Components.interfaces.nsIPrivateBrowsingService);
inPrivateBrowsing = pbSvc.privateBrowsingEnabled;
}
} catch(e) {
// safe to ignore
}
let chromeWin = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow)
.wrappedJSObject;
if (chromeWin != null)
inPrivateBrowsing = chromeWin.gPrivateBrowsingUI.privateWindow;
// If we're down to the last window and someone tries to shut down, check to make sure we can!
if (windowCount == 1 && !canQuitApplication("lastwindow"))
return false;