summaryrefslogtreecommitdiffstats
path: root/devtools/client/framework/browser-menus.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-04-08 19:48:21 -0400
committerMatt A. Tobin <email@mattatobin.com>2018-04-08 19:48:21 -0400
commitbe78355e8374c566488e1004e3f3c41785dd3dd0 (patch)
tree58f62cb5314eff2df2425e8a8007a553e0ce8b1c /devtools/client/framework/browser-menus.js
parent93b77160ce43384c8b44c00c8c157546fed2ca3a (diff)
downloadUXP-be78355e8374c566488e1004e3f3c41785dd3dd0.tar
UXP-be78355e8374c566488e1004e3f3c41785dd3dd0.tar.gz
UXP-be78355e8374c566488e1004e3f3c41785dd3dd0.tar.lz
UXP-be78355e8374c566488e1004e3f3c41785dd3dd0.tar.xz
UXP-be78355e8374c566488e1004e3f3c41785dd3dd0.zip
[DEVTOOLS] Resolve issues with dynamically created devtools menu items vs hardcoded vs overlay
Follow up to 1a36001
Diffstat (limited to 'devtools/client/framework/browser-menus.js')
-rw-r--r--devtools/client/framework/browser-menus.js40
1 files changed, 23 insertions, 17 deletions
diff --git a/devtools/client/framework/browser-menus.js b/devtools/client/framework/browser-menus.js
index 15d2ec1b6..c0572a928 100644
--- a/devtools/client/framework/browser-menus.js
+++ b/devtools/client/framework/browser-menus.js
@@ -383,27 +383,33 @@ function addTopLevelItems(doc) {
attachKeybindingsToBrowser(doc, keys);
+ // There are hardcoded menu items in the Web Developer menus plus it is a
+ // location of menu items via overlays from extensions so we want to make
+ // sure the last seperator and the "Get More Tools..." items are last.
+ // This will emulate the behavior when devtools menu items were actually
+ // physically present in browser.xul
+
+ // Tools > Web Developer
+ let menu = doc.getElementById("menuWebDeveloperPopup");
+ // Insert the Devtools Menu Items before everything else
+ menu.insertBefore(menuItems, menu.firstChild);
+ // Move the devtools last seperator and Get More Tools menu items to the bottom
+ let menu_endSeparator = doc.getElementById("menu_devToolsEndSeparator");
+ let menu_getMoreDevtools = doc.getElementById("menu_getMoreDevtools");
+ menu.insertBefore(menu_getMoreDevtools, null);
+ menu.insertBefore(menu_endSeparator, menu_getMoreDevtools);
+
+ // Application Menu > Web Developer (If existant)
let appmenu = doc.getElementById("appmenu_webDeveloper_popup");
if (appmenu) {
- appmenu.appendChild(appmenuItems);
-
- // There is still "Page Source" menuitem hardcoded into browser.xul. Instead
- // of manually inserting everything around it, move it to the expected
- // position.
- let appmenu_pageSource = doc.getElementById("appmenu_pageSource");
+ // Insert the Devtools Menu Items after the hardcoded idless seperator
+ appmenu.insertBefore(appmenuItems, appmenu.childNodes[2].nextSibling);
+ // Move the devtools last seperator and Get More Tools menu items to the bottom
let appmenu_endSeparator = doc.getElementById("appmenu_devToolsEndSeparator");
- appmenu.insertBefore(appmenu_pageSource, appmenu_endSeparator);
+ let appmenu_getMoreDevtools = doc.getElementById("appmenu_getMoreDevtools");
+ appmenu.insertBefore(appmenu_getMoreDevtools, null);
+ appmenu.insertBefore(appmenu_endSeparator, appmenu_getMoreDevtools);
}
-
- let menu = doc.getElementById("menuWebDeveloperPopup");
- menu.appendChild(menuItems);
-
- // There is still "Page Source" menuitem hardcoded into browser.xul. Instead
- // of manually inserting everything around it, move it to the expected
- // position.
- let menu_pageSource = doc.getElementById("menu_pageSource");
- let menu_endSeparator = doc.getElementById("menu_devToolsEndSeparator");
- menu.insertBefore(menu_pageSource, menu_endSeparator);
}
/**