| Index: extensions/browser/extension_prefs.cc
|
| diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
|
| index 37f9842aac3d1f87b0074cc59c2bafffb7ee1e4a..f18fad80e3d2020704f25d8482d0aedc3852167c 100644
|
| --- a/extensions/browser/extension_prefs.cc
|
| +++ b/extensions/browser/extension_prefs.cc
|
| @@ -11,6 +11,7 @@
|
| #include <utility>
|
|
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/string_util.h"
|
| @@ -333,7 +334,7 @@ ExtensionPrefs* ExtensionPrefs::Create(
|
| return ExtensionPrefs::Create(browser_context, prefs, root_dir,
|
| extension_pref_value_map, extensions_disabled,
|
| early_observers,
|
| - make_scoped_ptr(new TimeProvider()));
|
| + base::WrapUnique(new TimeProvider()));
|
| }
|
|
|
| // static
|
| @@ -344,7 +345,7 @@ ExtensionPrefs* ExtensionPrefs::Create(
|
| ExtensionPrefValueMap* extension_pref_value_map,
|
| bool extensions_disabled,
|
| const std::vector<ExtensionPrefsObserver*>& early_observers,
|
| - scoped_ptr<TimeProvider> time_provider) {
|
| + std::unique_ptr<TimeProvider> time_provider) {
|
| return new ExtensionPrefs(browser_context, pref_service, root_dir,
|
| extension_pref_value_map, std::move(time_provider),
|
| extensions_disabled, early_observers);
|
| @@ -550,7 +551,7 @@ bool ExtensionPrefs::ReadPrefAsBooleanAndReturn(
|
| return ReadPrefAsBoolean(extension_id, pref_key, &out_value) && out_value;
|
| }
|
|
|
| -scoped_ptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| +std::unique_ptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| const std::string& extension_id,
|
| const std::string& pref_key) const {
|
| if (!GetExtensionPref(extension_id))
|
| @@ -591,8 +592,8 @@ scoped_ptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| extension_id, JoinPrefs(pref_key, kPrefScriptableHosts),
|
| &scriptable_hosts, UserScript::ValidUserScriptSchemes());
|
|
|
| - return make_scoped_ptr(new PermissionSet(apis, manifest_permissions,
|
| - explicit_hosts, scriptable_hosts));
|
| + return base::WrapUnique(new PermissionSet(apis, manifest_permissions,
|
| + explicit_hosts, scriptable_hosts));
|
| }
|
|
|
| // Set the API or Manifest permissions.
|
| @@ -608,7 +609,7 @@ static base::ListValue* CreatePermissionList(const T& permissions) {
|
| base::ListValue* values = new base::ListValue();
|
| for (typename T::const_iterator i = permissions.begin();
|
| i != permissions.end(); ++i) {
|
| - scoped_ptr<base::Value> detail(i->ToValue());
|
| + std::unique_ptr<base::Value> detail(i->ToValue());
|
| if (detail) {
|
| base::DictionaryValue* tmp = new base::DictionaryValue();
|
| tmp->Set(i->name(), detail.release());
|
| @@ -938,7 +939,7 @@ void ExtensionPrefs::SetActiveBit(const std::string& extension_id,
|
| new base::FundamentalValue(active));
|
| }
|
|
|
| -scoped_ptr<const PermissionSet> ExtensionPrefs::GetGrantedPermissions(
|
| +std::unique_ptr<const PermissionSet> ExtensionPrefs::GetGrantedPermissions(
|
| const std::string& extension_id) const {
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| return ReadPrefAsPermissionSet(extension_id, kPrefGrantedPermissions);
|
| @@ -947,8 +948,9 @@ scoped_ptr<const PermissionSet> ExtensionPrefs::GetGrantedPermissions(
|
| void ExtensionPrefs::AddGrantedPermissions(const std::string& extension_id,
|
| const PermissionSet& permissions) {
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| - scoped_ptr<const PermissionSet> granted = GetGrantedPermissions(extension_id);
|
| - scoped_ptr<const PermissionSet> union_set;
|
| + std::unique_ptr<const PermissionSet> granted =
|
| + GetGrantedPermissions(extension_id);
|
| + std::unique_ptr<const PermissionSet> union_set;
|
| if (granted)
|
| union_set = PermissionSet::CreateUnion(permissions, *granted);
|
| // The new granted permissions are the union of the already granted
|
| @@ -970,7 +972,7 @@ void ExtensionPrefs::RemoveGrantedPermissions(
|
| permissions));
|
| }
|
|
|
| -scoped_ptr<const PermissionSet> ExtensionPrefs::GetActivePermissions(
|
| +std::unique_ptr<const PermissionSet> ExtensionPrefs::GetActivePermissions(
|
| const std::string& extension_id) const {
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| return ReadPrefAsPermissionSet(extension_id, kPrefActivePermissions);
|
| @@ -1186,12 +1188,12 @@ void ExtensionPrefs::UpdateManifest(const Extension* extension) {
|
| }
|
| }
|
|
|
| -scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
|
| +std::unique_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
|
| const std::string& extension_id,
|
| const base::DictionaryValue* extension) const {
|
| int location_value;
|
| if (!extension->GetInteger(kPrefLocation, &location_value))
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
|
|
| Manifest::Location location = static_cast<Manifest::Location>(location_value);
|
| if (location == Manifest::COMPONENT) {
|
| @@ -1200,7 +1202,7 @@ scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
|
| // ComponentLoader) and shouldn't be populated into the result of
|
| // GetInstalledExtensionsInfo, otherwise InstalledLoader would also want to
|
| // load them.
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
| }
|
|
|
| // Only the following extension types have data saved in the preferences.
|
| @@ -1208,7 +1210,7 @@ scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
|
| !Manifest::IsUnpackedLocation(location) &&
|
| !Manifest::IsExternalLocation(location)) {
|
| NOTREACHED();
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
| }
|
|
|
| const base::DictionaryValue* manifest = NULL;
|
| @@ -1220,38 +1222,38 @@ scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledInfoHelper(
|
|
|
| base::FilePath::StringType path;
|
| if (!extension->GetString(kPrefPath, &path))
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
|
|
| // Make path absolute. Most (but not all) extension types have relative paths.
|
| if (!base::FilePath(path).IsAbsolute())
|
| path = install_directory_.Append(path).value();
|
|
|
| - return scoped_ptr<ExtensionInfo>(new ExtensionInfo(
|
| + return std::unique_ptr<ExtensionInfo>(new ExtensionInfo(
|
| manifest, extension_id, base::FilePath(path), location));
|
| }
|
|
|
| -scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledExtensionInfo(
|
| +std::unique_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledExtensionInfo(
|
| const std::string& extension_id) const {
|
| const base::DictionaryValue* ext = NULL;
|
| const base::DictionaryValue* extensions =
|
| prefs_->GetDictionary(pref_names::kExtensions);
|
| if (!extensions ||
|
| !extensions->GetDictionaryWithoutPathExpansion(extension_id, &ext))
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
| int state_value;
|
| if (ext->GetInteger(kPrefState, &state_value) &&
|
| state_value == Extension::EXTERNAL_EXTENSION_UNINSTALLED) {
|
| LOG(WARNING) << "External extension with id " << extension_id
|
| << " has been uninstalled by the user";
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
| }
|
|
|
| return GetInstalledInfoHelper(extension_id, ext);
|
| }
|
|
|
| -scoped_ptr<ExtensionPrefs::ExtensionsInfo>
|
| +std::unique_ptr<ExtensionPrefs::ExtensionsInfo>
|
| ExtensionPrefs::GetInstalledExtensionsInfo() const {
|
| - scoped_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
| + std::unique_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
|
|
| const base::DictionaryValue* extensions =
|
| prefs_->GetDictionary(pref_names::kExtensions);
|
| @@ -1260,7 +1262,7 @@ ExtensionPrefs::GetInstalledExtensionsInfo() const {
|
| if (!crx_file::id_util::IdIsValid(extension_id.key()))
|
| continue;
|
|
|
| - scoped_ptr<ExtensionInfo> info =
|
| + std::unique_ptr<ExtensionInfo> info =
|
| GetInstalledExtensionInfo(extension_id.key());
|
| if (info)
|
| extensions_info->push_back(linked_ptr<ExtensionInfo>(info.release()));
|
| @@ -1269,9 +1271,9 @@ ExtensionPrefs::GetInstalledExtensionsInfo() const {
|
| return extensions_info;
|
| }
|
|
|
| -scoped_ptr<ExtensionPrefs::ExtensionsInfo>
|
| +std::unique_ptr<ExtensionPrefs::ExtensionsInfo>
|
| ExtensionPrefs::GetUninstalledExtensionsInfo() const {
|
| - scoped_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
| + std::unique_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
|
|
| const base::DictionaryValue* extensions =
|
| prefs_->GetDictionary(pref_names::kExtensions);
|
| @@ -1283,7 +1285,7 @@ ExtensionPrefs::GetUninstalledExtensionsInfo() const {
|
| !extension_id.value().GetAsDictionary(&ext))
|
| continue;
|
|
|
| - scoped_ptr<ExtensionInfo> info =
|
| + std::unique_ptr<ExtensionInfo> info =
|
| GetInstalledInfoHelper(extension_id.key(), ext);
|
| if (info)
|
| extensions_info->push_back(linked_ptr<ExtensionInfo>(info.release()));
|
| @@ -1371,16 +1373,16 @@ bool ExtensionPrefs::FinishDelayedInstallInfo(
|
| return true;
|
| }
|
|
|
| -scoped_ptr<ExtensionInfo> ExtensionPrefs::GetDelayedInstallInfo(
|
| +std::unique_ptr<ExtensionInfo> ExtensionPrefs::GetDelayedInstallInfo(
|
| const std::string& extension_id) const {
|
| const base::DictionaryValue* extension_prefs =
|
| GetExtensionPref(extension_id);
|
| if (!extension_prefs)
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
|
|
| const base::DictionaryValue* ext = NULL;
|
| if (!extension_prefs->GetDictionary(kDelayedInstallInfo, &ext))
|
| - return scoped_ptr<ExtensionInfo>();
|
| + return std::unique_ptr<ExtensionInfo>();
|
|
|
| return GetInstalledInfoHelper(extension_id, ext);
|
| }
|
| @@ -1403,9 +1405,9 @@ ExtensionPrefs::DelayReason ExtensionPrefs::GetDelayedInstallReason(
|
| return static_cast<DelayReason>(delay_reason);
|
| }
|
|
|
| -scoped_ptr<ExtensionPrefs::ExtensionsInfo> ExtensionPrefs::
|
| - GetAllDelayedInstallInfo() const {
|
| - scoped_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
| +std::unique_ptr<ExtensionPrefs::ExtensionsInfo>
|
| +ExtensionPrefs::GetAllDelayedInstallInfo() const {
|
| + std::unique_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo);
|
|
|
| const base::DictionaryValue* extensions =
|
| prefs_->GetDictionary(pref_names::kExtensions);
|
| @@ -1414,7 +1416,8 @@ scoped_ptr<ExtensionPrefs::ExtensionsInfo> ExtensionPrefs::
|
| if (!crx_file::id_util::IdIsValid(extension_id.key()))
|
| continue;
|
|
|
| - scoped_ptr<ExtensionInfo> info = GetDelayedInstallInfo(extension_id.key());
|
| + std::unique_ptr<ExtensionInfo> info =
|
| + GetDelayedInstallInfo(extension_id.key());
|
| if (info)
|
| extensions_info->push_back(linked_ptr<ExtensionInfo>(info.release()));
|
| }
|
| @@ -1564,7 +1567,7 @@ void ExtensionPrefs::ClearLastLaunchTimes() {
|
| void ExtensionPrefs::GetExtensions(ExtensionIdList* out) const {
|
| CHECK(out);
|
|
|
| - scoped_ptr<ExtensionsInfo> extensions_info(GetInstalledExtensionsInfo());
|
| + std::unique_ptr<ExtensionsInfo> extensions_info(GetInstalledExtensionsInfo());
|
|
|
| for (size_t i = 0; i < extensions_info->size(); ++i) {
|
| ExtensionInfo* info = extensions_info->at(i).get();
|
| @@ -1659,7 +1662,7 @@ const base::DictionaryValue* ExtensionPrefs::GetGeometryCache(
|
|
|
| void ExtensionPrefs::SetGeometryCache(
|
| const std::string& extension_id,
|
| - scoped_ptr<base::DictionaryValue> cache) {
|
| + std::unique_ptr<base::DictionaryValue> cache) {
|
| UpdateExtensionPref(extension_id, kPrefGeometryCache, cache.release());
|
| }
|
|
|
| @@ -1720,7 +1723,7 @@ ExtensionPrefs::ExtensionPrefs(
|
| PrefService* prefs,
|
| const base::FilePath& root_dir,
|
| ExtensionPrefValueMap* extension_pref_value_map,
|
| - scoped_ptr<TimeProvider> time_provider,
|
| + std::unique_ptr<TimeProvider> time_provider,
|
| bool extensions_disabled,
|
| const std::vector<ExtensionPrefsObserver*>& early_observers)
|
| : browser_context_(browser_context),
|
|
|