mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
7caa92d5d8
MozReview-Commit-ID: Jm8BRgt6mIv
82 lines
2.5 KiB
JavaScript
82 lines
2.5 KiB
JavaScript
/* -*- 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/. */
|
|
|
|
// This file is loaded into the browser window scope.
|
|
/* eslint-env mozilla/browser-window */
|
|
|
|
/**
|
|
* Customization handler prepares this browser window for entering and exiting
|
|
* customization mode by handling customizationstarting and customizationending
|
|
* events.
|
|
*/
|
|
var CustomizationHandler = {
|
|
handleEvent(aEvent) {
|
|
switch (aEvent.type) {
|
|
case "customizationstarting":
|
|
this._customizationStarting();
|
|
break;
|
|
case "customizationending":
|
|
this._customizationEnding(aEvent.detail);
|
|
break;
|
|
}
|
|
},
|
|
|
|
isCustomizing() {
|
|
return document.documentElement.hasAttribute("customizing");
|
|
},
|
|
|
|
_customizationStarting() {
|
|
// Disable the toolbar context menu items
|
|
let menubar = document.getElementById("main-menubar");
|
|
for (let childNode of menubar.childNodes)
|
|
childNode.setAttribute("disabled", true);
|
|
|
|
let cmd = document.getElementById("cmd_CustomizeToolbars");
|
|
cmd.setAttribute("disabled", "true");
|
|
|
|
UpdateUrlbarSearchSplitterState();
|
|
|
|
PlacesToolbarHelper.customizeStart();
|
|
},
|
|
|
|
_customizationEnding(aDetails) {
|
|
// Update global UI elements that may have been added or removed
|
|
if (aDetails.changed) {
|
|
gURLBar = document.getElementById("urlbar");
|
|
|
|
gHomeButton.updateTooltip();
|
|
|
|
if (AppConstants.platform != "macosx")
|
|
updateEditUIVisibility();
|
|
|
|
// Hacky: update the PopupNotifications' object's reference to the iconBox,
|
|
// if it already exists, since it may have changed if the URL bar was
|
|
// added/removed.
|
|
if (!window.__lookupGetter__("PopupNotifications")) {
|
|
PopupNotifications.iconBox =
|
|
document.getElementById("notification-popup-box");
|
|
}
|
|
|
|
}
|
|
|
|
PlacesToolbarHelper.customizeDone();
|
|
|
|
UpdateUrlbarSearchSplitterState();
|
|
|
|
// Update the urlbar
|
|
URLBarSetURI();
|
|
XULBrowserWindow.asyncUpdateUI();
|
|
|
|
// Re-enable parts of the UI we disabled during the dialog
|
|
let menubar = document.getElementById("main-menubar");
|
|
for (let childNode of menubar.childNodes)
|
|
childNode.setAttribute("disabled", false);
|
|
let cmd = document.getElementById("cmd_CustomizeToolbars");
|
|
cmd.removeAttribute("disabled");
|
|
|
|
gBrowser.selectedBrowser.focus();
|
|
}
|
|
};
|