| Index: extensions/common/permissions/permission_set.cc
|
| diff --git a/extensions/common/permissions/permission_set.cc b/extensions/common/permissions/permission_set.cc
|
| index 5cd8d05ec77962cb99fd9bfa7d215163cd2c474d..a3e3f4144f6fd1f3e5bd818d5f8db4993ade0b53 100644
|
| --- a/extensions/common/permissions/permission_set.cc
|
| +++ b/extensions/common/permissions/permission_set.cc
|
| @@ -43,8 +43,10 @@ PermissionSet::PermissionSet(
|
| InitEffectiveHosts();
|
| }
|
|
|
| +PermissionSet::~PermissionSet() {}
|
| +
|
| // static
|
| -scoped_refptr<const PermissionSet> PermissionSet::CreateDifference(
|
| +scoped_ptr<const PermissionSet> PermissionSet::CreateDifference(
|
| const PermissionSet& set1,
|
| const PermissionSet& set2) {
|
| APIPermissionSet apis;
|
| @@ -61,12 +63,12 @@ scoped_refptr<const PermissionSet> PermissionSet::CreateDifference(
|
| URLPatternSet scriptable_hosts = URLPatternSet::CreateDifference(
|
| set1.scriptable_hosts(), set2.scriptable_hosts());
|
|
|
| - 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));
|
| }
|
|
|
| // static
|
| -scoped_refptr<const PermissionSet> PermissionSet::CreateIntersection(
|
| +scoped_ptr<const PermissionSet> PermissionSet::CreateIntersection(
|
| const PermissionSet& set1,
|
| const PermissionSet& set2) {
|
| APIPermissionSet apis;
|
| @@ -82,12 +84,12 @@ scoped_refptr<const PermissionSet> PermissionSet::CreateIntersection(
|
| URLPatternSet scriptable_hosts = URLPatternSet::CreateSemanticIntersection(
|
| set1.scriptable_hosts(), set2.scriptable_hosts());
|
|
|
| - return new PermissionSet(apis, manifest_permissions,
|
| - explicit_hosts, scriptable_hosts);
|
| + return make_scoped_ptr(new PermissionSet(apis, manifest_permissions,
|
| + explicit_hosts, scriptable_hosts));
|
| }
|
|
|
| // static
|
| -scoped_refptr<const PermissionSet> PermissionSet::CreateUnion(
|
| +scoped_ptr<const PermissionSet> PermissionSet::CreateUnion(
|
| const PermissionSet& set1,
|
| const PermissionSet& set2) {
|
| APIPermissionSet apis;
|
| @@ -104,8 +106,8 @@ scoped_refptr<const PermissionSet> PermissionSet::CreateUnion(
|
| URLPatternSet scriptable_hosts = URLPatternSet::CreateUnion(
|
| set1.scriptable_hosts(), set2.scriptable_hosts());
|
|
|
| - return new PermissionSet(apis, manifest_permissions,
|
| - explicit_hosts, scriptable_hosts);
|
| + return make_scoped_ptr(new PermissionSet(apis, manifest_permissions,
|
| + explicit_hosts, scriptable_hosts));
|
| }
|
|
|
| bool PermissionSet::operator==(
|
| @@ -120,6 +122,10 @@ bool PermissionSet::operator!=(const PermissionSet& rhs) const {
|
| return !(*this == rhs);
|
| }
|
|
|
| +scoped_ptr<const PermissionSet> PermissionSet::Clone() const {
|
| + return make_scoped_ptr(new PermissionSet(*this));
|
| +}
|
| +
|
| bool PermissionSet::Contains(const PermissionSet& set) const {
|
| return apis_.Contains(set.apis()) &&
|
| manifest_permissions_.Contains(set.manifest_permissions()) &&
|
| @@ -218,7 +224,13 @@ bool PermissionSet::HasEffectiveFullAccess() const {
|
| return false;
|
| }
|
|
|
| -PermissionSet::~PermissionSet() {}
|
| +PermissionSet::PermissionSet(const PermissionSet& permissions)
|
| + : apis_(permissions.apis_),
|
| + manifest_permissions_(permissions.manifest_permissions_),
|
| + explicit_hosts_(permissions.explicit_hosts_),
|
| + scriptable_hosts_(permissions.scriptable_hosts_),
|
| + effective_hosts_(permissions.effective_hosts_),
|
| + should_warn_all_hosts_(permissions.should_warn_all_hosts_) {}
|
|
|
| void PermissionSet::InitImplicitPermissions() {
|
| // The downloads permission implies the internal version as well.
|
|
|