Chromium Code Reviews| 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 c3a50886c1f12d208199d319a39e1147fa86d53a..5d35593561548116d350a79548b997e318037cbb 100644 |
| --- a/chrome/browser/extensions/external_provider_impl.cc |
| +++ b/chrome/browser/extensions/external_provider_impl.cc |
| @@ -12,7 +12,6 @@ |
| #include "base/command_line.h" |
| #include "base/files/file_path.h" |
| #include "base/logging.h" |
| -#include "base/memory/linked_ptr.h" |
| #include "base/metrics/field_trial.h" |
| #include "base/stl_util.h" |
| #include "base/strings/string_util.h" |
| @@ -531,14 +530,9 @@ void ExternalProviderImpl::CreateExternalProviders( |
| // Policies are mandatory so they can't be skipped with command line flag. |
| if (external_loader.get()) { |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - external_loader, |
| - profile, |
| - crx_location, |
| - Manifest::EXTERNAL_POLICY_DOWNLOAD, |
| - Extension::NO_FLAGS))); |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
|
Devlin
2016/08/30 19:21:53
prefer base::MakeUnique
lazyboy
2016/08/30 20:30:56
Done.
|
| + service, external_loader, profile, crx_location, |
| + Manifest::EXTERNAL_POLICY_DOWNLOAD, Extension::NO_FLAGS))); |
| } |
| // Load the KioskAppExternalProvider when running in kiosk mode. |
| @@ -565,8 +559,7 @@ void ExternalProviderImpl::CreateExternalProviders( |
| location, Manifest::INVALID_LOCATION, Extension::NO_FLAGS)); |
| kiosk_app_provider->set_auto_acknowledge(true); |
| kiosk_app_provider->set_install_immediately(true); |
| - provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>(kiosk_app_provider.release())); |
| + provider_list->push_back(std::move(kiosk_app_provider)); |
| } |
| // Kiosk secondary app external provider. |
| @@ -578,8 +571,7 @@ void ExternalProviderImpl::CreateExternalProviders( |
| Manifest::EXTERNAL_PREF_DOWNLOAD, Extension::NO_FLAGS)); |
| secondary_kiosk_app_provider->set_auto_acknowledge(true); |
| secondary_kiosk_app_provider->set_install_immediately(true); |
| - provider_list->push_back(linked_ptr<ExternalProviderInterface>( |
| - secondary_kiosk_app_provider.release())); |
| + provider_list->push_back(std::move(secondary_kiosk_app_provider)); |
| } |
| #endif |
| return; |
| @@ -587,13 +579,10 @@ void ExternalProviderImpl::CreateExternalProviders( |
| // 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))); |
| + provider_list->push_back( |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
|
Devlin
2016/08/30 19:21:53
ditto
lazyboy
2016/08/30 20:30:56
Done.
|
| + service, external_recommended_loader, profile, crx_location, |
| + Manifest::EXTERNAL_PREF_DOWNLOAD, Extension::NO_FLAGS))); |
| } |
| // In tests don't install extensions from default external sources. |
| @@ -628,7 +617,7 @@ void ExternalProviderImpl::CreateExternalProviders( |
| ? ExternalPrefLoader::DELAY_LOAD_UNTIL_PRIORITY_SYNC |
| : ExternalPrefLoader::NONE; |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
|
Devlin
2016/08/30 19:21:53
ditto (and for the rest of this file)
lazyboy
2016/08/30 20:30:56
Done.
|
| service, new ExternalPrefLoader(external_apps_path_id, |
| pref_load_flags, profile), |
| profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| @@ -639,68 +628,49 @@ void ExternalProviderImpl::CreateExternalProviders( |
| bundled_extension_creation_flags | Extension::WAS_INSTALLED_BY_OEM; |
| chromeos::ServicesCustomizationDocument* customization = |
| chromeos::ServicesCustomizationDocument::GetInstance(); |
| - provider_list->push_back(linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl(service, |
| - customization->CreateExternalLoader(profile), |
| - profile, |
| - Manifest::EXTERNAL_PREF, |
| - Manifest::EXTERNAL_PREF_DOWNLOAD, |
| - oem_extension_creation_flags))); |
| + provider_list->push_back( |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, customization->CreateExternalLoader(profile), profile, |
| + Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| + oem_extension_creation_flags))); |
| } |
| #elif defined(OS_LINUX) |
| if (!profile->IsLegacySupervised()) { |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - new ExternalPrefLoader( |
| - chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS, |
| - ExternalPrefLoader::NONE, |
| - NULL), |
| - profile, |
| - Manifest::EXTERNAL_PREF, |
| - Manifest::EXTERNAL_PREF_DOWNLOAD, |
| - bundled_extension_creation_flags))); |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, |
| + new ExternalPrefLoader(chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS, |
| + ExternalPrefLoader::NONE, nullptr), |
| + profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| + bundled_extension_creation_flags))); |
| } |
| #endif |
| if (!profile->IsLegacySupervised()) { |
| #if defined(OS_WIN) |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - new ExternalRegistryLoader, |
| - profile, |
| - Manifest::EXTERNAL_REGISTRY, |
| - Manifest::EXTERNAL_PREF_DOWNLOAD, |
| - Extension::NO_FLAGS))); |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, new ExternalRegistryLoader, profile, |
| + Manifest::EXTERNAL_REGISTRY, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| + Extension::NO_FLAGS))); |
| #else |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - new ExternalPrefLoader(chrome::DIR_EXTERNAL_EXTENSIONS, |
| - check_admin_permissions_on_mac, |
| - NULL), |
| - profile, |
| - Manifest::EXTERNAL_PREF, |
| - Manifest::EXTERNAL_PREF_DOWNLOAD, |
| - bundled_extension_creation_flags))); |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, |
| + new ExternalPrefLoader(chrome::DIR_EXTERNAL_EXTENSIONS, |
| + check_admin_permissions_on_mac, nullptr), |
| + profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| + bundled_extension_creation_flags))); |
| // Define a per-user source of external extensions. |
| #if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(CHROMIUM_BUILD)) |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - new ExternalPrefLoader(chrome::DIR_USER_EXTERNAL_EXTENSIONS, |
| - ExternalPrefLoader::NONE, |
| - NULL), |
| - profile, |
| - Manifest::EXTERNAL_PREF, |
| - Manifest::EXTERNAL_PREF_DOWNLOAD, |
| - Extension::NO_FLAGS))); |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, |
| + new ExternalPrefLoader(chrome::DIR_USER_EXTERNAL_EXTENSIONS, |
| + ExternalPrefLoader::NONE, nullptr), |
| + profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| + Extension::NO_FLAGS))); |
| #endif |
| #endif |
| @@ -708,17 +678,12 @@ void ExternalProviderImpl::CreateExternalProviders( |
| // The default apps are installed as INTERNAL but use the external |
| // extension installer codeflow. |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new default_apps::Provider( |
| - profile, |
| - service, |
| - new ExternalPrefLoader(chrome::DIR_DEFAULT_APPS, |
| - ExternalPrefLoader::NONE, |
| - NULL), |
| - Manifest::INTERNAL, |
| - Manifest::INTERNAL, |
| - Extension::FROM_WEBSTORE | |
| - Extension::WAS_INSTALLED_BY_DEFAULT))); |
| + std::unique_ptr<ExternalProviderInterface>(new default_apps::Provider( |
| + profile, service, |
| + new ExternalPrefLoader(chrome::DIR_DEFAULT_APPS, |
| + ExternalPrefLoader::NONE, nullptr), |
| + Manifest::INTERNAL, Manifest::INTERNAL, |
| + Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT))); |
| #endif |
| std::unique_ptr<ExternalProviderImpl> drive_migration_provider( |
| @@ -729,18 +694,13 @@ void ExternalProviderImpl::CreateExternalProviders( |
| profile, Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD, |
| Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT)); |
| drive_migration_provider->set_auto_acknowledge(true); |
| - provider_list->push_back(linked_ptr<ExternalProviderInterface>( |
| - drive_migration_provider.release())); |
| + provider_list->push_back(std::move(drive_migration_provider)); |
| } |
| provider_list->push_back( |
| - linked_ptr<ExternalProviderInterface>( |
| - new ExternalProviderImpl( |
| - service, |
| - new ExternalComponentLoader(profile), |
| - profile, |
| - Manifest::INVALID_LOCATION, |
| - Manifest::EXTERNAL_COMPONENT, |
| + std::unique_ptr<ExternalProviderInterface>(new ExternalProviderImpl( |
| + service, new ExternalComponentLoader(profile), profile, |
| + Manifest::INVALID_LOCATION, Manifest::EXTERNAL_COMPONENT, |
| Extension::FROM_WEBSTORE | Extension::WAS_INSTALLED_BY_DEFAULT))); |
| } |