Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ Then you need to edit the file [userChrome.js](https://github.com/tsaost/autoloa

The modified userChrome.js then must be copied to your Firefox installation directory. For example on Windows this is usually "c:\Program Files (x86)\Mozilla Firefox" for the 32-bit version of Firefox. You can rename the file, but remember to modify the corresponding line pref("general.config.filename", "userChrome.js") in defaults/pref/config-prefs.js

Now your addons from your local directories will be loaded automatically whenever Firefox starts. After editing your code remember to reload it from [about:debuggin](about:debugging#/runtime/this-firefox). You can also get there via the menu by selecting "More Tools", then "Remote Debugging", and click on "This Firefox" on the left side (but the quickest way is to bookmark it and then add a bookmark keyword such as "dbg" for quick access.)
Now your addons from your local directories will be loaded automatically whenever Firefox starts. After editing your code remember to reload it from [about:debugging](about:debugging#/runtime/this-firefox). You can also get there via the menu by selecting "More Tools", then "Remote Debugging", and click on "This Firefox" on the left side (but the quickest way is to bookmark it and then add a bookmark keyword such as "dbg" for quick access.)

Please note that this is an automated installation of the extension every time Firefox starts, so it is not quite the same as a "permanent install". That is, this procedure has exactly the same effect as clicking on "Load Temporary Addon..." from the [about:debugging](about:debugging#/runtime/this-firefox) page, just that the process is now automated via userChrome.js. This means that if you have code that does something after the installation of the extension such as `browser.runtime.onInstalled.addListener(details => { if (details.reason == "install") { ...do something after install... });` then this code will be called every time Firefox is launched.

Because the extension is re-installed every time, you must make sure you have [browser_specific_settings](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings) such as `"browser_specific_settings": {"gecko": { "id": "[email protected]" }}` in your manifest.jason or changes to your options and local storage will be lost when you restart Firefox.
Because the extension is re-installed every time, you must make sure you have [browser_specific_settings](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings) such as `"browser_specific_settings": {"gecko": { "id": "[email protected]" }}` in your manifest.json or changes to your options and local storage will be lost when you restart Firefox.

I hope that Mozilla will not cripple AutoConfig to prevent this workaround for the lack of a Developer Mode like most other browsers. Seems to me that AutoConfig does not represent a new security loophole because if an attacker has access to the Firefox install directory to install or modify config-prefs.js and userChrome.js then every file in the directory, including firefox.exe and omni.ja are at risk already.

Expand Down