B2G/gecko/toolkit/mozapps/extensions/XPIProvider.jsm
/**
   * Shuts down the database and releases all references.
   */
Shuts down the database and releases all references.
Shuts down the database and releases all references .
function XPI_shutdown() {
    LOG("shutdown");
    this.bootstrappedAddons = {};
    this.bootstrapScopes = {};
    this.enabledAddons = null;
    this.allAppGlobal = true;
    this.inactiveAddonIDs = [];
    if (Prefs.getBoolPref(PREF_PENDING_OPERATIONS, false)) {
      XPIDatabase.updateActiveAddons();
      XPIDatabase.writeAddonsList();
      Services.prefs.setBoolPref(PREF_PENDING_OPERATIONS, false);
    }
    this.installs = null;
    this.installLocations = null;
    this.installLocationsByName = null;
    this.extensionsActive = false;
    if (gLazyObjectsLoaded) {
      XPIDatabase.shutdown(function shutdownCallback() {
        Services.obs.notifyObservers(null, "xpi-provider-shutdown", null);
      });
    }
    else {
      Services.obs.notifyObservers(null, "xpi-provider-shutdown", null);
    }
  }
function XPI_shutdown ( ) { LOG ( "shutdown" ) ; this . bootstrappedAddons = { } ; this . bootstrapScopes = { } ; this . enabledAddons = null ; this . allAppGlobal = true ; this . inactiveAddonIDs = [ ] ; if ( Prefs . getBoolPref ( PREF_PENDING_OPERATIONS , false ) ) { XPIDatabase . updateActiveAddons ( ) ; XPIDatabase . writeAddonsList ( ) ; Services . prefs . setBoolPref ( PREF_PENDING_OPERATIONS , false ) ; } this . installs = null ; this . installLocations = null ; this . installLocationsByName = null ; this . extensionsActive = false ; if ( gLazyObjectsLoaded ) { XPIDatabase . shutdown ( function shutdownCallback ( ) { Services . obs . notifyObservers ( null , "xpi-provider-shutdown" , null ) ; } ) ; } else { Services . obs . notifyObservers ( null , "xpi-provider-shutdown" , null ) ; } }
Shuts down the database and releases all references.
Shuts down the database and releases all references .
// If there are pending operations then we must update the list of active // add-ons // This is needed to allow xpcshell tests to simulate a restart