mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 08:48:39 +09:00
[DEVTOOLS] Resolve issues with dynamically created devtools menu items vs hardcoded vs overlay
Follow up to 1a36001
This commit is contained in:
parent
4f5c7979e2
commit
f0d4b2476b
3 changed files with 28 additions and 22 deletions
|
|
@ -144,10 +144,10 @@
|
|||
observes="workOfflineMenuitemState"
|
||||
oncommand="BrowserOffline.toggleOfflineStatus();"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="appmenu_javascriptConsole"
|
||||
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
|
||||
<menuitem id="appmenu_pageSource"
|
||||
observes="devtoolsMenuBroadcaster_PageSource"/>
|
||||
<menuitem id="appmenu_javascriptConsole"
|
||||
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
|
||||
</menupopup>
|
||||
</splitmenu>
|
||||
<menuseparator class="appmenu-menuseparator"/>
|
||||
|
|
|
|||
|
|
@ -534,12 +534,12 @@
|
|||
label="&webDeveloperMenu.label;"
|
||||
accesskey="&webDeveloperMenu.accesskey;">
|
||||
<menupopup id="menuWebDeveloperPopup">
|
||||
<menuitem id="javascriptConsole"
|
||||
observes="devtoolsMenuBroadcaster_ErrorConsole"
|
||||
accesskey="&errorConsoleCmd.accesskey;"/>
|
||||
<menuitem id="menu_pageSource"
|
||||
observes="devtoolsMenuBroadcaster_PageSource"
|
||||
accesskey="&pageSourceCmd.accesskey;"/>
|
||||
<menuitem id="javascriptConsole"
|
||||
observes="devtoolsMenuBroadcaster_ErrorConsole"
|
||||
accesskey="&errorConsoleCmd.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem id="menu_pageInfo"
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue