Extension behavior in Firefox When you develop an extension, assuming you've not defined an add-on ID using the browser_specific_settings key, the default behavior in Firefox is as follows: - when using the Load Temporary Add-on feature in about:debugging your extension is assigned a new add-on ID each time you load it.
- when using web-ext, in addition to getting a new add-on ID each time you launch an extension it's also launched into a new profile.
- when a temporarily loaded extension is unloaded, local storage, such as that used by storage.local, window.localStorage, and indexedDB, is removed.
- when you stop Firefox, any temporarily loaded extensions are unloaded so aren't available when Firefox restarts. This includes extensions loaded with Load Temporary Add-on in about:debugging and web-ext.
The consequences of this behavior, when reloading an extension, is that: - any data in local or sync storage is lost.
- any redirect URL becomes invalid.
- the extension will no longer be able to communicate with native apps or a PKCS #11 module.
- it will no longer be possible to send messages or create connections between extensions.
- you cannot test how the extension will behave if Firefox is stopped and restarted.
- browserAction positions are not carried over.
|