| Index: extensions/common/manifest_handlers/permissions_parser.cc
|
| diff --git a/extensions/common/manifest_handlers/permissions_parser.cc b/extensions/common/manifest_handlers/permissions_parser.cc
|
| index e221ed36e78ff81af6dfacb84e06f2b45b1ec2be..1aa2e606766d39e46c6a10c460cb9e95b0c756ba 100644
|
| --- a/extensions/common/manifest_handlers/permissions_parser.cc
|
| +++ b/extensions/common/manifest_handlers/permissions_parser.cc
|
| @@ -32,16 +32,15 @@ namespace keys = manifest_keys;
|
| namespace errors = manifest_errors;
|
|
|
| struct ManifestPermissions : public Extension::ManifestData {
|
| - ManifestPermissions(scoped_refptr<const PermissionSet> permissions);
|
| + ManifestPermissions(scoped_ptr<const PermissionSet> permissions);
|
| ~ManifestPermissions() override;
|
|
|
| - scoped_refptr<const PermissionSet> permissions;
|
| + scoped_ptr<const PermissionSet> permissions;
|
| };
|
|
|
| ManifestPermissions::ManifestPermissions(
|
| - scoped_refptr<const PermissionSet> permissions)
|
| - : permissions(permissions) {
|
| -}
|
| + scoped_ptr<const PermissionSet> permissions)
|
| + : permissions(permissions.Pass()) {}
|
|
|
| ManifestPermissions::~ManifestPermissions() {
|
| }
|
| @@ -267,21 +266,21 @@ void PermissionsParser::Finalize(Extension* extension) {
|
| ManifestHandler::AddExtensionInitialRequiredPermissions(
|
| extension, &initial_required_permissions_->manifest_permissions);
|
|
|
| - scoped_refptr<const PermissionSet> required_permissions(
|
| + scoped_ptr<const PermissionSet> required_permissions(
|
| new PermissionSet(initial_required_permissions_->api_permissions,
|
| initial_required_permissions_->manifest_permissions,
|
| initial_required_permissions_->host_permissions,
|
| initial_required_permissions_->scriptable_hosts));
|
| - extension->SetManifestData(keys::kPermissions,
|
| - new ManifestPermissions(required_permissions));
|
| -
|
| - scoped_refptr<const PermissionSet> optional_permissions(
|
| - new PermissionSet(initial_optional_permissions_->api_permissions,
|
| - initial_optional_permissions_->manifest_permissions,
|
| - initial_optional_permissions_->host_permissions,
|
| - URLPatternSet()));
|
| - extension->SetManifestData(keys::kOptionalPermissions,
|
| - new ManifestPermissions(optional_permissions));
|
| + extension->SetManifestData(
|
| + keys::kPermissions, new ManifestPermissions(required_permissions.Pass()));
|
| +
|
| + scoped_ptr<const PermissionSet> optional_permissions(new PermissionSet(
|
| + initial_optional_permissions_->api_permissions,
|
| + initial_optional_permissions_->manifest_permissions,
|
| + initial_optional_permissions_->host_permissions, URLPatternSet()));
|
| + extension->SetManifestData(
|
| + keys::kOptionalPermissions,
|
| + new ManifestPermissions(optional_permissions.Pass()));
|
| }
|
|
|
| // static
|
| @@ -319,20 +318,21 @@ void PermissionsParser::SetScriptableHosts(
|
| }
|
|
|
| // static
|
| -scoped_refptr<const PermissionSet> PermissionsParser::GetRequiredPermissions(
|
| +const PermissionSet* PermissionsParser::GetRequiredPermissions(
|
| const Extension* extension) {
|
| DCHECK(extension->GetManifestData(keys::kPermissions));
|
| return static_cast<const ManifestPermissions*>(
|
| - extension->GetManifestData(keys::kPermissions))->permissions;
|
| + extension->GetManifestData(keys::kPermissions))
|
| + ->permissions.get();
|
| }
|
|
|
| // static
|
| -scoped_refptr<const PermissionSet> PermissionsParser::GetOptionalPermissions(
|
| +const PermissionSet* PermissionsParser::GetOptionalPermissions(
|
| const Extension* extension) {
|
| DCHECK(extension->GetManifestData(keys::kOptionalPermissions));
|
| return static_cast<const ManifestPermissions*>(
|
| extension->GetManifestData(keys::kOptionalPermissions))
|
| - ->permissions;
|
| + ->permissions.get();
|
| }
|
|
|
| } // namespace extensions
|
|
|