зеркало из https://github.com/mozilla/gecko-dev.git
Bug 715673 - Hande browser-lastwindow-close events. r=mfinkle
This commit is contained in:
Родитель
66b3083fa1
Коммит
01c81dfb00
|
@ -489,8 +489,27 @@ var BrowserApp = {
|
||||||
},
|
},
|
||||||
|
|
||||||
quit: function quit() {
|
quit: function quit() {
|
||||||
window.QueryInterface(Ci.nsIDOMChromeWindow).minimize();
|
// Figure out if there's at least one other browser window around.
|
||||||
window.close();
|
let lastBrowser = true;
|
||||||
|
let e = Services.wm.getEnumerator("navigator:browser");
|
||||||
|
while (e.hasMoreElements() && lastBrowser) {
|
||||||
|
let win = e.getNext();
|
||||||
|
if (win != window)
|
||||||
|
lastBrowser = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lastBrowser) {
|
||||||
|
// Let everyone know we are closing the last browser window
|
||||||
|
let closingCanceled = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
|
||||||
|
Services.obs.notifyObservers(closingCanceled, "browser-lastwindow-close-requested", null);
|
||||||
|
if (closingCanceled.data)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Services.obs.notifyObservers(null, "browser-lastwindow-close-granted", null);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.QueryInterface(Ci.nsIDOMChromeWindow).minimize();
|
||||||
|
window.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
saveAsPDF: function saveAsPDF(aBrowser) {
|
saveAsPDF: function saveAsPDF(aBrowser) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче