mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-27 01:27:30 +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"
|
observes="workOfflineMenuitemState"
|
||||||
oncommand="BrowserOffline.toggleOfflineStatus();"/>
|
oncommand="BrowserOffline.toggleOfflineStatus();"/>
|
||||||
<menuseparator/>
|
<menuseparator/>
|
||||||
<menuitem id="appmenu_javascriptConsole"
|
|
||||||
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
|
|
||||||
<menuitem id="appmenu_pageSource"
|
<menuitem id="appmenu_pageSource"
|
||||||
observes="devtoolsMenuBroadcaster_PageSource"/>
|
observes="devtoolsMenuBroadcaster_PageSource"/>
|
||||||
|
<menuitem id="appmenu_javascriptConsole"
|
||||||
|
observes="devtoolsMenuBroadcaster_ErrorConsole"/>
|
||||||
</menupopup>
|
</menupopup>
|
||||||
</splitmenu>
|
</splitmenu>
|
||||||
<menuseparator class="appmenu-menuseparator"/>
|
<menuseparator class="appmenu-menuseparator"/>
|
||||||
|
|
|
||||||
|
|
@ -534,12 +534,12 @@
|
||||||
label="&webDeveloperMenu.label;"
|
label="&webDeveloperMenu.label;"
|
||||||
accesskey="&webDeveloperMenu.accesskey;">
|
accesskey="&webDeveloperMenu.accesskey;">
|
||||||
<menupopup id="menuWebDeveloperPopup">
|
<menupopup id="menuWebDeveloperPopup">
|
||||||
<menuitem id="javascriptConsole"
|
|
||||||
observes="devtoolsMenuBroadcaster_ErrorConsole"
|
|
||||||
accesskey="&errorConsoleCmd.accesskey;"/>
|
|
||||||
<menuitem id="menu_pageSource"
|
<menuitem id="menu_pageSource"
|
||||||
observes="devtoolsMenuBroadcaster_PageSource"
|
observes="devtoolsMenuBroadcaster_PageSource"
|
||||||
accesskey="&pageSourceCmd.accesskey;"/>
|
accesskey="&pageSourceCmd.accesskey;"/>
|
||||||
|
<menuitem id="javascriptConsole"
|
||||||
|
observes="devtoolsMenuBroadcaster_ErrorConsole"
|
||||||
|
accesskey="&errorConsoleCmd.accesskey;"/>
|
||||||
</menupopup>
|
</menupopup>
|
||||||
</menu>
|
</menu>
|
||||||
<menuitem id="menu_pageInfo"
|
<menuitem id="menu_pageInfo"
|
||||||
|
|
|
||||||
|
|
@ -383,27 +383,33 @@ function addTopLevelItems(doc) {
|
||||||
|
|
||||||
attachKeybindingsToBrowser(doc, keys);
|
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");
|
let appmenu = doc.getElementById("appmenu_webDeveloper_popup");
|
||||||
if (appmenu) {
|
if (appmenu) {
|
||||||
appmenu.appendChild(appmenuItems);
|
// Insert the Devtools Menu Items after the hardcoded idless seperator
|
||||||
|
appmenu.insertBefore(appmenuItems, appmenu.childNodes[2].nextSibling);
|
||||||
// There is still "Page Source" menuitem hardcoded into browser.xul. Instead
|
// Move the devtools last seperator and Get More Tools menu items to the bottom
|
||||||
// of manually inserting everything around it, move it to the expected
|
|
||||||
// position.
|
|
||||||
let appmenu_pageSource = doc.getElementById("appmenu_pageSource");
|
|
||||||
let appmenu_endSeparator = doc.getElementById("appmenu_devToolsEndSeparator");
|
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