| Index: chrome/browser/extensions/external_provider_impl.cc
|
| diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc
|
| index dfa6b4fe46ae45f62e19b0125828434432a7ff2b..9c74cca1f7fccc9068a5f2f0be5e7b7b25aae399 100644
|
| --- a/chrome/browser/extensions/external_provider_impl.cc
|
| +++ b/chrome/browser/extensions/external_provider_impl.cc
|
| @@ -367,6 +367,7 @@ void ExternalProviderImpl::CreateExternalProviders(
|
| Profile* profile,
|
| ProviderCollection* provider_list) {
|
| scoped_refptr<ExternalLoader> external_loader;
|
| + scoped_refptr<ExternalLoader> external_recommended_loader;
|
| extensions::Manifest::Location crx_location = Manifest::INVALID_LOCATION;
|
| #if defined(OS_CHROMEOS)
|
| policy::BrowserPolicyConnectorChromeOS* connector =
|
| @@ -389,11 +390,19 @@ void ExternalProviderImpl::CreateExternalProviders(
|
| }
|
| } else {
|
| external_loader = new ExternalPolicyLoader(
|
| - ExtensionManagementFactory::GetForBrowserContext(profile));
|
| + ExtensionManagementFactory::GetForBrowserContext(profile),
|
| + ExternalPolicyLoader::FORCED);
|
| + external_recommended_loader = new ExternalPolicyLoader(
|
| + ExtensionManagementFactory::GetForBrowserContext(profile),
|
| + ExternalPolicyLoader::RECOMMENDED);
|
| }
|
| #else
|
| external_loader = new ExternalPolicyLoader(
|
| - ExtensionManagementFactory::GetForBrowserContext(profile));
|
| + ExtensionManagementFactory::GetForBrowserContext(profile),
|
| + ExternalPolicyLoader::FORCED);
|
| + external_recommended_loader = new ExternalPolicyLoader(
|
| + ExtensionManagementFactory::GetForBrowserContext(profile),
|
| + ExternalPolicyLoader::RECOMMENDED);
|
| #endif
|
|
|
| // Policies are mandatory so they can't be skipped with command line flag.
|
| @@ -428,6 +437,17 @@ void ExternalProviderImpl::CreateExternalProviders(
|
| return;
|
| }
|
|
|
| + // Extensions provided by recommended policies.
|
| + if (external_recommended_loader.get()) {
|
| + provider_list->push_back(linked_ptr<ExternalProviderInterface>(
|
| + new ExternalProviderImpl(service,
|
| + external_recommended_loader,
|
| + profile,
|
| + crx_location,
|
| + Manifest::EXTERNAL_PREF_DOWNLOAD,
|
| + Extension::NO_FLAGS)));
|
| + }
|
| +
|
| // In tests don't install extensions from default external sources.
|
| // It would only slowdown tests and make them flaky.
|
| if (CommandLine::ForCurrentProcess()->HasSwitch(
|
|
|