Enumerating installed packages in gecko

60 views Asked by At

I was trying to make conkeror work with firefox 54 and noticed devtools seems to be missing when running under the conkeror application.ini. To provide some context conkeror can be run from the conkeror repo directory with:

XUL_APP_FILE="$(pwd)/application.ini" firefox

In particular, I was trying to access the browser console and the web console but chrome://devtools/content/webconsole/webconsole.xul and chrome://devtools/content/debugger/debugger.xul seem to be missing from conkeror but they are there for firefox 54.

Is it possible that devtools are for some reason disabled in conkeror, and is there a way to inspect/enumerate the installed packages?

EDIT: On conkeror I tried

Cc["@mozilla.org/chrome/chrome-registry;1"]
  .getService(Ci.nsIChromeRegistry)
  .convertChromeURL(
    Cc["@mozilla.org/network/io-service;1"]
      .getService(Ci.nsIIOService)
      .newURI("chrome://devtools/content/", "UTF-8")).spec

and it yields on the terminal:

NS_ERROR_FILE_NOT_FOUND: Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIChromeRegistry.convertChromeURL]

While

Cc["@mozilla.org/chrome/chrome-registry;1"]
  .getService(Ci.nsIChromeRegistry)
  .convertChromeURL(
    Cc["@mozilla.org/network/io-service;1"]
      .getService(Ci.nsIIOService)
      .newURI("chrome://global/content/", "UTF-8")).spec

yields

jar:file:///Applications/FirefoxNightly.app/Contents/Resources/omni.ja!/chrome/toolkit/content/global/global.xul

Honestly I don't know how to run browser-level javascript on vanilla firefox.

1

There are 1 answers

1
J. Ryan Stinnett On BEST ANSWER

It's not currently possible to use DevTools from random XUL apps in this way. See bug 1244163 for more about this.

At the moment, build time flags are needed to get DevTools working. So, SeaMonkey and Thunderbird are able to ship DevTools because they rebuild all of mozilla-central and can set flags at build time.

The DevTools team is exploring shipping DevTools as an add-on, so assuming that happens, you could install the add-on in your XUL app.