| Index: extensions/browser/extension_prefs.cc
|
| diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
|
| index c7a5aea5122827c08f6cfa344b3e2970e9893457..51074f92a2f7c5929e8c9be15ee594f85c8526ac 100644
|
| --- a/extensions/browser/extension_prefs.cc
|
| +++ b/extensions/browser/extension_prefs.cc
|
| @@ -556,7 +556,7 @@ bool ExtensionPrefs::ReadPrefAsBooleanAndReturn(
|
| return ReadPrefAsBoolean(extension_id, pref_key, &out_value) && out_value;
|
| }
|
|
|
| -scoped_refptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| +scoped_ptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| const std::string& extension_id,
|
| const std::string& pref_key) const {
|
| if (!GetExtensionPref(extension_id))
|
| @@ -597,8 +597,8 @@ scoped_refptr<const PermissionSet> ExtensionPrefs::ReadPrefAsPermissionSet(
|
| extension_id, JoinPrefs(pref_key, kPrefScriptableHosts),
|
| &scriptable_hosts, UserScript::ValidUserScriptSchemes());
|
|
|
| - return make_scoped_refptr(new PermissionSet(
|
| - apis, manifest_permissions, explicit_hosts, scriptable_hosts));
|
| + return make_scoped_ptr(new PermissionSet(apis, manifest_permissions,
|
| + explicit_hosts, scriptable_hosts));
|
| }
|
|
|
| // Set the API or Manifest permissions.
|
| @@ -1014,7 +1014,7 @@ void ExtensionPrefs::MigrateDisableReasons(
|
| }
|
| }
|
|
|
| -scoped_refptr<const PermissionSet> ExtensionPrefs::GetGrantedPermissions(
|
| +scoped_ptr<const PermissionSet> ExtensionPrefs::GetGrantedPermissions(
|
| const std::string& extension_id) const {
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| return ReadPrefAsPermissionSet(extension_id, kPrefGrantedPermissions);
|
| @@ -1026,14 +1026,14 @@ void ExtensionPrefs::AddGrantedPermissions(
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| DCHECK(permissions);
|
|
|
| - scoped_refptr<const PermissionSet> granted =
|
| - GetGrantedPermissions(extension_id);
|
| - granted = granted.get() ? PermissionSet::CreateUnion(*permissions, *granted)
|
| - : permissions;
|
| + scoped_ptr<const PermissionSet> granted = GetGrantedPermissions(extension_id);
|
| + scoped_ptr<const PermissionSet> union_set;
|
| + if (granted)
|
| + union_set = PermissionSet::CreateUnion(*permissions, *granted);
|
| // The new granted permissions are the union of the already granted
|
| // permissions and the newly granted permissions.
|
| SetExtensionPrefPermissionSet(extension_id, kPrefGrantedPermissions,
|
| - granted.get());
|
| + union_set ? union_set.get() : permissions);
|
| }
|
|
|
| void ExtensionPrefs::RemoveGrantedPermissions(
|
| @@ -1050,7 +1050,7 @@ void ExtensionPrefs::RemoveGrantedPermissions(
|
| .get());
|
| }
|
|
|
| -scoped_refptr<const PermissionSet> ExtensionPrefs::GetActivePermissions(
|
| +scoped_ptr<const PermissionSet> ExtensionPrefs::GetActivePermissions(
|
| const std::string& extension_id) const {
|
| CHECK(crx_file::id_util::IdIsValid(extension_id));
|
| return ReadPrefAsPermissionSet(extension_id, kPrefActivePermissions);
|
|
|