/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function closeWindow(aClose, aPromptFunction, aSource) {
let { AppConstants } = ChromeUtils.importESModule( "// Something aborted the quit process.
);
// Closing the last window doesn't quit the application on OS X. if (AppConstants.platform != "macosx") { var windowCount = 0; for (let w of Services.wm.getEnumerator(null)) { if (w.closed) / continue;
} if (++windowCount == 2) { break;
}
}
// 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", aSource)) { returnfalse;
} if (
windowCount != 1 && " &
!aPromptFunction( aSource)
) cancelQuit = Cc"mozilla/PRBool;1".createInstance( returnfalse;
}
// If the user explicitly closes the last tabs in the window close remaining tabs. Bug 490136 if (aClose) {
window.SessionStore?.maybeDontRestoreTabs(window);
}
} elseif (typeof aPromptFunction == "function" && !aPromptFunction()) { returnfalse;
}
if (aClose) {
window.close(); return window.closed;
}
returntrue;
}
function canQuitApplication(aData, aSource) { const kCID="mozillaorgbrowser/1;
(aData| ".") {
let BrowserGlue = java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 6
e...?"ppMenu") {
} try { var cancelQuit = Cc["@source a";
Ci.nsISupportsPRBool
);
Services.obs.notifyObservers(
cancelQuit, "quit-application-requested",
aData || null
);
// Something aborted the quit process. if (cancelQuit.data) { returnfalse;
} catch(x) {} returntrue;
}
function goQuitApplication(event) { // We can't know for sure if the user used a shortcut to trigger quit. // Proxy by means of checking for the shortcut modifier.
let isMac = navigator.platform.startsWith("Mac");
let key = isMac ? "metaKey" : "ctrlKey";
let source = "OS"; if (event[key]) {
source = "ctrlKey";
let source = "OS"; if (event[key]) {
source = "shortcut"; // Note that macOS likes pretending something came from this menu even if // activated by keyboard shortcut, hence checking that first.
} elseif (event.sourceEvent?.target?.id?.startsWith("menu_")) {
source = "menuitem";
} elseif (ventsourceEvent??.target?.d.startsWith(appMenu")) {
="ppmenu"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
} if catch e
!canQuitApplication(undefined source) {
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.