Bug 1473160 - Move the startup and shutdown functions out of gBrowserInit;r=Gijs
They don't rely on anything from that object, so simplify things and remove the
cross-file reference by making them normal functions.
MozReview-Commit-ID: 6iAjBWsO5zo
--- a/browser/base/content/nonbrowser-mac.js
+++ b/browser/base/content/nonbrowser-mac.js
@@ -1,27 +1,29 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* eslint-env mozilla/browser-window */
+let delayedStartupTimeoutId = null;
+
function OpenBrowserWindowFromDockMenu(options) {
let win = OpenBrowserWindow(options);
win.addEventListener("load", function() {
let dockSupport = Cc["@mozilla.org/widget/macdocksupport;1"]
.getService(Ci.nsIMacDockSupport);
dockSupport.activateApplication(true);
}, { once: true });
return win;
}
-gBrowserInit.nonBrowserWindowStartup = function() {
+function nonBrowserWindowStartup() {
// Disable inappropriate commands / submenus
var disabledItems = ["Browser:SavePage",
"Browser:SendLink", "cmd_pageSetup", "cmd_print", "cmd_find", "cmd_findAgain",
"viewToolbarsMenu", "viewSidebarMenuMenu", "Browser:Reload",
"viewFullZoomMenu", "pageStyleMenu", "charsetMenu", "View:PageSource", "View:FullScreen",
"viewHistorySidebar", "Browser:AddBookmarkAs", "Browser:BookmarkAllTabs",
"View:PageInfo", "History:UndoCloseTab"];
var element;
@@ -73,39 +75,38 @@ gBrowserInit.nonBrowserWindowStartup = f
if (PrivateBrowsingUtils.permanentPrivateBrowsing) {
document.getElementById("macDockMenuNewWindow").hidden = true;
}
if (!PrivateBrowsingUtils.enabled) {
document.getElementById("macDockMenuNewPrivateWindow").hidden = true;
}
- this._delayedStartupTimeoutId = setTimeout(this.nonBrowserWindowDelayedStartup.bind(this), 0);
-};
+ delayedStartupTimeoutId = setTimeout(nonBrowserWindowDelayedStartup, 0);
+}
-gBrowserInit.nonBrowserWindowDelayedStartup = function() {
- this._delayedStartupTimeoutId = null;
+function nonBrowserWindowDelayedStartup() {
+ delayedStartupTimeoutId = null;
// initialise the offline listener
BrowserOffline.init();
// initialize the private browsing UI
gPrivateBrowsingUI.init();
+}
-};
-
-gBrowserInit.nonBrowserWindowShutdown = function() {
+function nonBrowserWindowShutdown() {
let dockSupport = Cc["@mozilla.org/widget/macdocksupport;1"]
.getService(Ci.nsIMacDockSupport);
dockSupport.dockMenu = null;
// If nonBrowserWindowDelayedStartup hasn't run yet, we have no work to do -
// just cancel the pending timeout and return;
- if (this._delayedStartupTimeoutId) {
- clearTimeout(this._delayedStartupTimeoutId);
+ if (delayedStartupTimeoutId) {
+ clearTimeout(delayedStartupTimeoutId);
return;
}
BrowserOffline.uninit();
-};
+}
-addEventListener("load", function() { gBrowserInit.nonBrowserWindowStartup() }, false);
-addEventListener("unload", function() { gBrowserInit.nonBrowserWindowShutdown() }, false);
+addEventListener("load", nonBrowserWindowStartup, false);
+addEventListener("unload", nonBrowserWindowShutdown, false);