diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index 61e61e30fa2e..aa2139f3f329 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -79,6 +79,42 @@ function initialize(event) { return; } document.removeEventListener("load", initialize, true); + + let globalCommandSet = document.getElementById("globalCommandSet"); + globalCommandSet.addEventListener("command", function(event) { + gViewController.doCommand(event.target.id); + }); + + let viewCommandSet = document.getElementById("viewCommandSet"); + viewCommandSet.addEventListener("commandupdate", function(event) { + gViewController.updateCommands(); + }); + viewCommandSet.addEventListener("command", function(event) { + gViewController.doCommand(event.target.id); + }); + + let detailScreenshot = document.getElementById("detail-screenshot"); + detailScreenshot.addEventListener("load", function(event) { + this.removeAttribute("loading"); + }); + detailScreenshot.addEventListener("error", function(event) { + this.setAttribute("loading", "error"); + }); + + let addonPage = document.getElementById("addons-page"); + addonPage.addEventListener("dragenter", function(event) { + gDragDrop.onDragOver(event); + }); + addonPage.addEventListener("dragover", function(event) { + gDragDrop.onDragOver(event); + }); + addonPage.addEventListener("drop", function(event) { + gDragDrop.onDrop(event); + }); + addonPage.addEventListener("keypress", function(event) { + gHeader.onKeyPress(event); + }); + gViewController.initialize(); gCategories.initialize(); gHeader.initialize(); @@ -679,6 +715,13 @@ var gViewController = { } }, + cmd_focusSearch: { + isEnabled: () => true, + doCommand: function cmd_focusSearch_doCommand() { + gHeader.focusSearchBox(); + } + }, + cmd_restartApp: { isEnabled: function cmd_restartApp_isEnabled() true, doCommand: function cmd_restartApp_doCommand() { @@ -1757,6 +1800,19 @@ var gHeader = { onKeyPress: function gHeader_onKeyPress(aEvent) { if (String.fromCharCode(aEvent.charCode) == "/") { this.focusSearchBox(); + return; + } + + // XXXunf Temporary until bug 371900 is fixed. + let key = document.getElementById("focusSearch").getAttribute("key"); +#ifdef XP_MACOSX + let keyModifier = aEvent.metaKey; +#else + let keyModifier = aEvent.ctrlKey; +#endif + if (String.fromCharCode(aEvent.charCode) == key && keyModifier) { + this.focusSearchBox(); + return; } }, diff --git a/toolkit/mozapps/extensions/content/extensions.xul b/toolkit/mozapps/extensions/content/extensions.xul index 43e19c6f26d8..e5be5ac3d2aa 100644 --- a/toolkit/mozapps/extensions/content/extensions.xul +++ b/toolkit/mozapps/extensions/content/extensions.xul @@ -18,11 +18,7 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml" id="addons-page" title="&addons.windowTitle;" role="application" windowtype="Addons:Manager" - disablefastfind="true" - ondragenter="gDragDrop.onDragOver(event)" - ondragover="gDragDrop.onDragOver(event)" - ondrop="gDragDrop.onDrop(event)" - onkeypress="gHeader.onKeyPress(event)"> + disablefastfind="true"> @@ -76,8 +72,8 @@ - + + @@ -95,9 +91,7 @@ + events="richlistbox-select" commandupdater="true"> @@ -116,8 +110,9 @@ + + disabled="true"/> @@ -518,9 +513,7 @@ - + diff --git a/toolkit/mozapps/extensions/jar.mn b/toolkit/mozapps/extensions/jar.mn index bb49348dd711..335c31c08662 100644 --- a/toolkit/mozapps/extensions/jar.mn +++ b/toolkit/mozapps/extensions/jar.mn @@ -6,7 +6,7 @@ toolkit.jar: % content mozapps %content/mozapps/ * content/mozapps/extensions/extensions.xul (content/extensions.xul) content/mozapps/extensions/extensions.css (content/extensions.css) - content/mozapps/extensions/extensions.js (content/extensions.js) +* content/mozapps/extensions/extensions.js (content/extensions.js) * content/mozapps/extensions/extensions.xml (content/extensions.xml) content/mozapps/extensions/updateinfo.xsl (content/updateinfo.xsl) content/mozapps/extensions/extensions-content.js (content/extensions-content.js)