New issue
Advanced search Search tips

Issue 907661 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 3
Type: Bug



Sign in to add a comment

Extensions: Clean up permissions ownership

Project Member Reported by rdevlin....@chromium.org, Nov 21

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/033021e61f385591df24e93c8e0b58ff5a90e5a7

commit 033021e61f385591df24e93c8e0b58ff5a90e5a7
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Nov 27 18:21:45 2018

[Extensions Cleanup] Make BaseSetOperators::insert() take a unique_ptr

Update BaseSetOperators::insert() (and the related method
APIpermissionSet::insert()) accept a unique_ptr as a parameter rather
than a raw pointer. This makes it significantly more clear that
ownership is taken as a result of the method call.

Update all call sites appropriately.

Bug: 907661
Change-Id: I08568711a01d7a371343dc9137aefedf86d43c7a
Reviewed-on: https://chromium-review.googlesource.com/c/1347621
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611201}
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/chrome/browser/chromeos/extensions/permissions_updater_delegate_chromeos_unittest.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/chrome/browser/extensions/extension_prefs_unittest.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/chrome/common/extensions/permissions/permission_set_unittest.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/extension_messages.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/manifest_handler.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/manifest_handlers/content_capabilities_handler.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/manifest_handlers/permissions_parser.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/api_permission_set.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/api_permission_set.h
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/api_permission_set_unittest.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/base_set_operators.h
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/manifest_permission_set.cc
[modify] https://crrev.com/033021e61f385591df24e93c8e0b58ff5a90e5a7/extensions/common/permissions/manifest_permission_set_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ddc9bf082ec5f0fd738871f5487d485fcff66547

commit ddc9bf082ec5f0fd738871f5487d485fcff66547
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Nov 29 02:56:47 2018

[Extensions Cleanup] Update <Permission>::Clone/Diff/etc to unique_ptr

Update APIPermission and ManifestPermission (and their subsequent
subclasses) to return a std::unique_ptr from the Clone(), Diff(),
Union(), and Intersection() methods. This makes the ownership of the
return result significantly more clear.

Update all usages of these methods as well.

Bug: 907661
Change-Id: I5110014cca0af9b5364fd8fa8bdcdfc4fee58195
Reviewed-on: https://chromium-review.googlesource.com/c/1347777
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612005}
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/chrome/common/extensions/manifest_handlers/ui_overrides_handler.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/chrome/common/extensions/permissions/permission_set_unittest.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/bluetooth/bluetooth_manifest_handler.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/bluetooth/bluetooth_manifest_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/bluetooth/bluetooth_manifest_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/sockets/sockets_manifest_handler.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/sockets/sockets_manifest_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/sockets/sockets_manifest_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/api/sockets/sockets_manifest_permission_unittest.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/manifest_handlers/automation.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/api_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/api_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/api_permission_set_unittest.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/base_set_operators.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/base_set_operators_unittest.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/manifest_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/manifest_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/manifest_permission_set_unittest.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/mock_manifest_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/mock_manifest_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/set_disjunction_permission.h
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/settings_override_permission.cc
[modify] https://crrev.com/ddc9bf082ec5f0fd738871f5487d485fcff66547/extensions/common/permissions/settings_override_permission.h

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f0add91bb9884d2a28dffb127301f3b15e7caa0

commit 5f0add91bb9884d2a28dffb127301f3b15e7caa0
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Nov 29 17:11:31 2018

[Extensions Cleanup] Make CreateAPIPermission return a unique_ptr

APIPermission::CreateAPIPermission() returns a newly-created
APIPermission object. Update it to return a unique_ptr rather than a
raw c-style pointer.

Bug: 907661
TBR=dominickn@chromium.org (mechanical change to chrome_apps_api_permissions.cc)

Change-Id: Ia27e4d7da11fce00e30f0fd1720f110e22d74346
Reviewed-on: https://chromium-review.googlesource.com/c/1347796
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612241}
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/chrome/common/apps/platform_apps/chrome_apps_api_permissions.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/chrome/common/extensions/permissions/chrome_api_permissions.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/chrome/common/extensions/permissions/permission_set_unittest.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/manifest_handlers/content_capabilities_handler.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/permissions/api_permission.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/permissions/api_permission.h
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/permissions/api_permission_set.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/permissions/api_permission_set_unittest.cc
[modify] https://crrev.com/5f0add91bb9884d2a28dffb127301f3b15e7caa0/extensions/common/permissions/extensions_api_permissions.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e26e25923fa7b82249f016fdbc84515915c2218

commit 4e26e25923fa7b82249f016fdbc84515915c2218
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Nov 29 19:31:56 2018

[Extensions Cleanup] Update BaseSetOperators<T>::Map type to unique_ptr

Update the underlying BaseSetOperators<T>::Map type to use
std::unique_ptrs instead of linked_ptrs.

Bug: 907661
Change-Id: I2161ca2acc513ee5d78cc32b14f27199f5a7d1b7
Reviewed-on: https://chromium-review.googlesource.com/c/1351422
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612317}
[modify] https://crrev.com/4e26e25923fa7b82249f016fdbc84515915c2218/extensions/common/permissions/base_set_operators.h

Sign in to add a comment