зеркало из https://github.com/mozilla/gecko-dev.git
Bug 715673 - Hande browser-lastwindow-close events. r=mfinkle
This commit is contained in:
Родитель
66b3083fa1
Коммит
01c81dfb00
|
@ -489,6 +489,25 @@ var BrowserApp = {
|
|||
},
|
||||
|
||||
quit: function quit() {
|
||||
// Figure out if there's at least one other browser window around.
|
||||
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();
|
||||
},
|
||||
|
|
Загрузка…
Ссылка в новой задаче