| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * This Source Code is subject to the terms of the Mozilla Public License | |
| 3 * version 2.0 (the "License"). You can obtain a copy of the License at | |
| 4 * http://mozilla.org/MPL/2.0/. | |
| 5 */ | |
| 6 | |
| 7 let InspectorObserver = | |
| 8 { | |
| 9 init: function() | |
| 10 { | |
| 11 let gDevTools; | |
| 12 try | |
| 13 { | |
| 14 ({gDevTools}) = Cu.import("resource:///modules/devtools/gDevTools.jsm", nu
ll); | |
| 15 } | |
| 16 catch(e) | |
| 17 { | |
| 18 // No developer tools or unsupported version - ignore. | |
| 19 return; | |
| 20 } | |
| 21 | |
| 22 gDevTools.on("inspector-ready", this.inspectorReady); | |
| 23 onShutdown.add(function() | |
| 24 { | |
| 25 gDevTools.off("inspector-ready", this.inspectorReady); | |
| 26 }.bind(this)); | |
| 27 }, | |
| 28 | |
| 29 get inspectorButtonTooltip() | |
| 30 { | |
| 31 // Randomize URI to work around bug 719376 | |
| 32 let stringBundle = Services.strings.createBundle("chrome://elemhidehelper/lo
cale/global.properties?" + Math.random()); | |
| 33 let result = stringBundle.GetStringFromName("inspector.button.tooltiptext"); | |
| 34 | |
| 35 delete this.inspectorButtonTooltip; | |
| 36 this.__defineGetter__("inspectorButtonTooltip", function() result); | |
| 37 return this.inspectorButtonTooltip; | |
| 38 }, | |
| 39 | |
| 40 inspectorReady: function(eventName, toolbox, panel) | |
| 41 { | |
| 42 let panelWindow = panel.panelWin; | |
| 43 let inspectBtn = panelWindow.document.getElementById("inspector-breadcrumbs"
); | |
| 44 if (!inspectBtn) | |
| 45 return; | |
| 46 | |
| 47 let tooltiptext = InspectorObserver.inspectorButtonTooltip; | |
| 48 button = panelWindow.document.createElement("toolbarbutton"); | |
| 49 button.setAttribute("id", "ehh-inspector-toolbarbutton"); | |
| 50 button.setAttribute("class", "devtools-toolbarbutton"); | |
| 51 button.setAttribute("tooltiptext", tooltiptext); | |
| 52 button.setAttribute("tabindex", "0"); | |
| 53 button.addEventListener("command", function() | |
| 54 { | |
| 55 panelWindow.openDialog("chrome://elemhidehelper/content/composer.xul", "_b
lank", | |
| 56 "chrome,centerscreen,resizable,dialog=no", panel.se
lection.node); | |
| 57 }, false); | |
| 58 | |
| 59 //Override button style for light DevTools theme | |
| 60 let style = panelWindow.document.createProcessingInstruction("xml-stylesheet
", 'href="chrome://elemhidehelper/skin/devToolsOverlay.css" type="text/css"'); | |
| 61 panelWindow.document.insertBefore(style, panelWindow.document.firstChild); | |
| 62 | |
| 63 inspectBtn.parentNode.insertBefore(button, inspectBtn); | |
| 64 } | |
| 65 }; | |
| 66 | |
| 67 InspectorObserver.init(); | |
| OLD | NEW |