canmove, Confirmed users
1,570
edits
(Created page with 'This page gives an overview of the extension manager component focusing on the elements in [http://mxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/src/nsExtensi...') |
|||
| Line 36: | Line 36: | ||
=Character Interactions= | =Character Interactions= | ||
==General Overview== | |||
The extension manager is a regular xpcom component. Its job is to manage the list of installed add-ons. Every add-on is installed in an install location (represented by a <code>nsIInstallLocation</code>). | |||
An install location simply contains a list of add-ons registered with it and where the add-on's files are stored. There are currently two types of install locations, the most common is the DirectoryInstallLocation which exists as a single directory in the filesystem. All registered add-ons appear inside this directory as directories named after the add-on's ID. The other type is the WinRegInstallLocation which only exists on Windows. This looks for add-on registrations in the windows registry, the add-on's files can be held anywhere on disk. | |||
Install locations have priorities. If the same add-on (as determined by ID) appears in multiple install locations then the actual instance used is the one in the install location with the highest priority. | |||
In general whenever the working set of add-ons changes (either through install, upgrade, enable, disable or uninstall) then the application must be restarted to ensure chrome and components are loaded/unloaded from the relevant add-ons. The main exception to this is for themes which aren't the currently used theme. The procedure followed is to mark the changes necessary in the startup cache and then after restart perform the necessary operations and then restart the process again to bring the changes into effect. | |||
==Platform Interactions== | |||
==XPInstall Interactions== | |||
==User Interactions== | |||
=Actions During Startup= | =Actions During Startup= | ||