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)