Added CoalescedPermissionMessages to ManifestPermissions
commit45d827a6ba247ef55275c52ade2dfddbaeb87a9f
authorsashab <sashab@chromium.org>
Wed, 10 Dec 2014 03:12:25 +0000 (9 19:12 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 10 Dec 2014 03:13:06 +0000 (10 03:13 +0000)
tree499f75454d5f648c85ebe60e5586da1e5011fc7d
parent6e7f615f49056439312aad3fcdd2284e2bd69647
Added CoalescedPermissionMessages to ManifestPermissions

Added a new type, CoalescedPermissionMessage, which represents a
permission message made up of 0 or more permissions. Also started a
refactor to move IDs out of APIPermission::ID and PermissionMessage::ID
and into their own common class.

Added a new method GetPermissions() to ManifestPermission, which allows
manifest permissions to specify their own custom permissions (and hence
custom messages) for apps with that permission. Updated all 5 subclasses
(automation, bluetooth, sockets, UI overrides hanlder and the mock
manifest).

Also added another FilterHostPermissions() method to ExtensionsClient
that can create CoalescedPermissionMessages.

BUG=398257

Review URL: https://codereview.chromium.org/750353003

Cr-Commit-Position: refs/heads/master@{#307630}
25 files changed:
chrome/browser/extensions/permission_message_combinations_unittest.cc
chrome/common/extensions/chrome_extensions_client.cc
chrome/common/extensions/chrome_extensions_client.h
chrome/common/extensions/manifest_handlers/automation.cc
chrome/common/extensions/manifest_handlers/ui_overrides_handler.cc
extensions/common/api/bluetooth/bluetooth_manifest_permission.cc
extensions/common/api/bluetooth/bluetooth_manifest_permission.h
extensions/common/api/sockets/sockets_manifest_permission.cc
extensions/common/api/sockets/sockets_manifest_permission.h
extensions/common/extensions_client.h
extensions/common/permissions/api_permission.h
extensions/common/permissions/api_permission_set.cc
extensions/common/permissions/api_permission_set.h
extensions/common/permissions/coalesced_permission_message.cc [new file with mode: 0644]
extensions/common/permissions/coalesced_permission_message.h [new file with mode: 0644]
extensions/common/permissions/manifest_permission.h
extensions/common/permissions/manifest_permission_set_unittest.cc
extensions/common/permissions/permission_message.h
extensions/common/permissions/permission_message_util.cc
extensions/common/permissions/permission_message_util.h
extensions/extensions.gyp
extensions/shell/common/shell_extensions_client.cc
extensions/shell/common/shell_extensions_client.h
extensions/test/test_extensions_client.cc
extensions/test/test_extensions_client.h