diff options
-rw-r--r-- | chrome/browser/extensions/api/management/management_api.cc | 1 | ||||
-rw-r--r-- | chrome/browser/extensions/external_provider_impl.cc | 2 | ||||
-rw-r--r-- | extensions/common/manifest.cc | 4 | ||||
-rw-r--r-- | extensions/common/manifest.h | 3 | ||||
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 1 |
5 files changed, 10 insertions, 1 deletions
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc index 59f2a3c..afad4c9 100644 --- a/chrome/browser/extensions/api/management/management_api.cc +++ b/chrome/browser/extensions/api/management/management_api.cc @@ -199,6 +199,7 @@ scoped_ptr<management::ExtensionInfo> CreateExtensionInfo( NOTREACHED(); case Manifest::INVALID_LOCATION: case Manifest::COMPONENT: + case Manifest::EXTERNAL_COMPONENT: info->install_type = management::ExtensionInfo::INSTALL_TYPE_OTHER; break; } diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc index 9b86130..78b1417 100644 --- a/chrome/browser/extensions/external_provider_impl.cc +++ b/chrome/browser/extensions/external_provider_impl.cc @@ -490,7 +490,7 @@ void ExternalProviderImpl::CreateExternalProviders( new ExternalComponentLoader(), profile, Manifest::INVALID_LOCATION, - Manifest::EXTERNAL_POLICY_DOWNLOAD, + Manifest::EXTERNAL_COMPONENT, Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT))); } } diff --git a/extensions/common/manifest.cc b/extensions/common/manifest.cc index 4decdd3..39e6920 100644 --- a/extensions/common/manifest.cc +++ b/extensions/common/manifest.cc @@ -34,6 +34,10 @@ int GetLocationRank(Manifest::Location location) { switch (location) { // Component extensions can not be overriden by any other type. case Manifest::COMPONENT: + rank = 9; + break; + + case Manifest::EXTERNAL_COMPONENT: rank = 8; break; diff --git a/extensions/common/manifest.h b/extensions/common/manifest.h index 4bf92ec..ef76406 100644 --- a/extensions/common/manifest.h +++ b/extensions/common/manifest.h @@ -43,6 +43,9 @@ class Manifest { EXTERNAL_POLICY, // A crx file from an external directory (via admin // policies), cached locally and installed from the // cache. + EXTERNAL_COMPONENT, // Similar to COMPONENT in that it's considered an + // internal implementation detail of chrome, but + // installed from an update URL like the *DOWNLOAD ones. NUM_LOCATIONS }; diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 6078179..e6f6f45 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -21566,6 +21566,7 @@ other types of suffix sets. <int value="7" label="EXTERNAL_POLICY_DOWNLOAD"/> <int value="8" label="COMMAND_LINE"/> <int value="9" label="EXTERNAL_POLICY"/> + <int value="10" label="EXTERNAL_COMPONENT"/> </enum> <enum name="ExtensionPermission" type="int"> |