forked from mirrors/gecko-dev
		
	 5bdc727943
			
		
	
	
		5bdc727943
		
	
	
	
	
		
			
			Also changes the tooltip on the home button to be independent of the URLs it opens, per dolske. Some tests explicitly set browser.startup.homepage, but only through SpecialPowers.putPrefEnv. That's a good compromise, given the extra functionality there. MozReview-Commit-ID: FPLxzi3jQAP --HG-- extra : rebase_source : c2b014f2fb1c78ce04859344bd1803ef48d5d68d
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.4 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");
 | |
| 
 | |
|       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();
 | |
|   }
 | |
| };
 |