B2G/gecko/toolkit/mozapps/extensions/XPIProvider.jsm
/**
   * When an add-on install is pending its metadata will be cached in a file.
   * This method reads particular properties of that metadata that may be newer
   * than that in the install manifest, like compatibility information.
   *
   * @param  aObj
   *         A JS object containing the cached metadata
   */
When an add-on install is pending its metadata will be cached in a file.
This method reads particular properties of that metadata that may be newer
than that in the install manifest, like compatibility information.

@param  aObj
A JS object containing the cached metadata
When an add - on install is pending its metadata will be cached in a file . This method reads particular properties of that metadata that may be newer than that in the install manifest like compatibility information . @param aObj A JS object containing the cached metadata
function AddonInternal_importMetaData(aObj) {
    ["syncGUID", "targetApplications", "userDisabled", "softDisabled",
     "existingAddonID", "sourceURI", "releaseNotesURI", "installDate",
     "updateDate", "applyBackgroundUpdates", "compatibilityOverrides"]
    .forEach(function(aProp) {
      if (!(aProp in aObj))
        return;
      this[aProp] = aObj[aProp];
    }, this);
    this.appDisabled = !isUsableAddon(this);
  }
function AddonInternal_importMetaData ( aObj ) { [ "syncGUID" , "targetApplications" , "userDisabled" , "softDisabled" , "existingAddonID" , "sourceURI" , "releaseNotesURI" , "installDate" , "updateDate" , "applyBackgroundUpdates" , "compatibilityOverrides" ] . forEach ( function ( aProp ) { if ( ! ( aProp in aObj ) ) return ; this [ aProp ] = aObj [ aProp ] ; } , this ) ; this . appDisabled = ! isUsableAddon ( this ) ; }
When an add-on install is pending its metadata will be cached in a file.
When an add - on install is pending its metadata will be cached in a file .
// Compatibility info may have changed so update appDisabled