Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(498)

Side by Side Diff: extensions/common/permissions/extensions_api_permissions.cc

Issue 596003002: Allow declarative webrequest and webrequest in extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up RuleRegistry in ExtensionsApiClient. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/common/permissions/extensions_api_permissions.h" 5 #include "extensions/common/permissions/extensions_api_permissions.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "extensions/common/permissions/api_permission.h" 9 #include "extensions/common/permissions/api_permission.h"
10 #include "extensions/common/permissions/permission_message.h" 10 #include "extensions/common/permissions/permission_message.h"
(...skipping 17 matching lines...) Expand all
28 } // namespace 28 } // namespace
29 29
30 std::vector<APIPermissionInfo*> ExtensionsAPIPermissions::GetAllPermissions() 30 std::vector<APIPermissionInfo*> ExtensionsAPIPermissions::GetAllPermissions()
31 const { 31 const {
32 APIPermissionInfo::InitInfo permissions_to_register[] = { 32 APIPermissionInfo::InitInfo permissions_to_register[] = {
33 {APIPermission::kAlphaEnabled, "app.window.alpha"}, 33 {APIPermission::kAlphaEnabled, "app.window.alpha"},
34 {APIPermission::kAlwaysOnTopWindows, "app.window.alwaysOnTop"}, 34 {APIPermission::kAlwaysOnTopWindows, "app.window.alwaysOnTop"},
35 {APIPermission::kAudioCapture, "audioCapture", 35 {APIPermission::kAudioCapture, "audioCapture",
36 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE, 36 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE,
37 PermissionMessage::kAudioCapture}, 37 PermissionMessage::kAudioCapture},
38 {APIPermission::kDeclarativeWebRequest, "declarativeWebRequest",
39 APIPermissionInfo::kFlagNone,
40 IDS_EXTENSION_PROMPT_WARNING_DECLARATIVE_WEB_REQUEST,
41 PermissionMessage::kDeclarativeWebRequest},
38 {APIPermission::kDns, "dns"}, 42 {APIPermission::kDns, "dns"},
39 {APIPermission::kExternallyConnectableAllUrls, 43 {APIPermission::kExternallyConnectableAllUrls,
40 "externally_connectable.all_urls"}, 44 "externally_connectable.all_urls"},
41 {APIPermission::kFullscreen, "app.window.fullscreen"}, 45 {APIPermission::kFullscreen, "app.window.fullscreen"},
42 {APIPermission::kHid, "hid", APIPermissionInfo::kFlagNone, 46 {APIPermission::kHid, "hid", APIPermissionInfo::kFlagNone,
43 IDS_EXTENSION_PROMPT_WARNING_HID, PermissionMessage::kHid}, 47 IDS_EXTENSION_PROMPT_WARNING_HID, PermissionMessage::kHid},
44 {APIPermission::kOverrideEscFullscreen, 48 {APIPermission::kOverrideEscFullscreen,
45 "app.window.fullscreen.overrideEsc"}, 49 "app.window.fullscreen.overrideEsc"},
46 {APIPermission::kPower, "power"}, 50 {APIPermission::kPower, "power"},
47 {APIPermission::kSerial, "serial", APIPermissionInfo::kFlagNone, 51 {APIPermission::kSerial, "serial", APIPermissionInfo::kFlagNone,
(...skipping 22 matching lines...) Expand all
70 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_VIDEO_CAPTURE, 74 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_VIDEO_CAPTURE,
71 PermissionMessage::kVideoCapture}, 75 PermissionMessage::kVideoCapture},
72 // NOTE(kalman): This is provided by a manifest property but needs to 76 // NOTE(kalman): This is provided by a manifest property but needs to
73 // appear in the install permission dialogue, so we need a fake 77 // appear in the install permission dialogue, so we need a fake
74 // permission for it. See http://crbug.com/247857. 78 // permission for it. See http://crbug.com/247857.
75 {APIPermission::kWebConnectable, "webConnectable", 79 {APIPermission::kWebConnectable, "webConnectable",
76 APIPermissionInfo::kFlagCannotBeOptional | 80 APIPermissionInfo::kFlagCannotBeOptional |
77 APIPermissionInfo::kFlagInternal, 81 APIPermissionInfo::kFlagInternal,
78 IDS_EXTENSION_PROMPT_WARNING_WEB_CONNECTABLE, 82 IDS_EXTENSION_PROMPT_WARNING_WEB_CONNECTABLE,
79 PermissionMessage::kWebConnectable}, 83 PermissionMessage::kWebConnectable},
84 {APIPermission::kWebRequest, "webRequest"},
85 {APIPermission::kWebRequestBlocking, "webRequestBlocking"},
80 {APIPermission::kWebView, "webview", 86 {APIPermission::kWebView, "webview",
81 APIPermissionInfo::kFlagCannotBeOptional}, 87 APIPermissionInfo::kFlagCannotBeOptional},
82 {APIPermission::kWindowShape, "app.window.shape"}, 88 {APIPermission::kWindowShape, "app.window.shape"},
83 }; 89 };
84 90
85 std::vector<APIPermissionInfo*> permissions; 91 std::vector<APIPermissionInfo*> permissions;
86 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(permissions_to_register); ++i) 92 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(permissions_to_register); ++i)
87 permissions.push_back(new APIPermissionInfo(permissions_to_register[i])); 93 permissions.push_back(new APIPermissionInfo(permissions_to_register[i]));
88 return permissions; 94 return permissions;
89 } 95 }
90 96
91 std::vector<PermissionsProvider::AliasInfo> 97 std::vector<PermissionsProvider::AliasInfo>
92 ExtensionsAPIPermissions::GetAllAliases() const { 98 ExtensionsAPIPermissions::GetAllAliases() const {
93 std::vector<PermissionsProvider::AliasInfo> aliases; 99 std::vector<PermissionsProvider::AliasInfo> aliases;
94 aliases.push_back(PermissionsProvider::AliasInfo( 100 aliases.push_back(PermissionsProvider::AliasInfo(
95 "app.window.alwaysOnTop", kOldAlwaysOnTopWindowsPermission)); 101 "app.window.alwaysOnTop", kOldAlwaysOnTopWindowsPermission));
96 aliases.push_back(PermissionsProvider::AliasInfo("app.window.fullscreen", 102 aliases.push_back(PermissionsProvider::AliasInfo("app.window.fullscreen",
97 kOldFullscreenPermission)); 103 kOldFullscreenPermission));
98 aliases.push_back( 104 aliases.push_back(
99 PermissionsProvider::AliasInfo("app.window.fullscreen.overrideEsc", 105 PermissionsProvider::AliasInfo("app.window.fullscreen.overrideEsc",
100 kOldOverrideEscFullscreenPermission)); 106 kOldOverrideEscFullscreenPermission));
101 return aliases; 107 return aliases;
102 } 108 }
103 109
104 } // namespace extensions 110 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698