OLD | NEW |
---|---|
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "chrome/common/extensions/permissions/chrome_api_permissions.h" | 5 #include "chrome/common/extensions/permissions/chrome_api_permissions.h" |
6 | 6 |
7 #include "chrome/grit/generated_resources.h" | 7 #include "chrome/grit/generated_resources.h" |
8 #include "extensions/common/permissions/api_permission.h" | 8 #include "extensions/common/permissions/api_permission.h" |
9 #include "extensions/common/permissions/api_permission_set.h" | 9 #include "extensions/common/permissions/api_permission_set.h" |
10 #include "extensions/common/permissions/media_galleries_permission.h" | 10 #include "extensions/common/permissions/media_galleries_permission.h" |
11 #include "extensions/common/permissions/permission_message.h" | 11 #include "extensions/common/permissions/permission_message.h" |
12 #include "extensions/common/permissions/permissions_info.h" | 12 #include "extensions/common/permissions/permissions_info.h" |
13 #include "extensions/strings/grit/extensions_strings.h" | 13 #include "extensions/strings/grit/extensions_strings.h" |
14 | 14 |
15 namespace extensions { | 15 namespace extensions { |
16 | 16 |
17 namespace { | 17 namespace { |
18 | 18 |
19 const char kWindowsPermission[] = "windows"; | 19 const char kWindowsPermission[] = "windows"; |
20 const char kWindowsGlobalPermission[] = "windows.global"; | |
20 | 21 |
21 template <typename T> | 22 template <typename T> |
22 APIPermission* CreateAPIPermission(const APIPermissionInfo* permission) { | 23 APIPermission* CreateAPIPermission(const APIPermissionInfo* permission) { |
23 return new T(permission); | 24 return new T(permission); |
24 } | 25 } |
25 | 26 |
26 } // namespace | 27 } // namespace |
27 | 28 |
28 std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() | 29 std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() |
29 const { | 30 const { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
182 {APIPermission::kSyncFileSystem, | 183 {APIPermission::kSyncFileSystem, |
183 "syncFileSystem", | 184 "syncFileSystem", |
184 APIPermissionInfo::kFlagNone, | 185 APIPermissionInfo::kFlagNone, |
185 IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM, | 186 IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM, |
186 PermissionMessage::kSyncFileSystem}, | 187 PermissionMessage::kSyncFileSystem}, |
187 {APIPermission::kTab, | 188 {APIPermission::kTab, |
188 "tabs", | 189 "tabs", |
189 APIPermissionInfo::kFlagNone, | 190 APIPermissionInfo::kFlagNone, |
190 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, | 191 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, |
191 PermissionMessage::kTabs}, | 192 PermissionMessage::kTabs}, |
193 {APIPermission::kTabGlobal, | |
194 "tabs.global", | |
195 APIPermissionInfo::kFlagNone, | |
196 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, | |
not at google - send to devlin
2015/04/20 16:47:43
Extensions can usually enumerate Chrome tabs/windo
llandwerlin-old
2015/06/26 11:26:14
Done.
not at google - send to devlin
2015/06/30 17:33:53
Mm actually I need to think about this a little bi
| |
197 PermissionMessage::kTabsGlobal}, | |
192 {APIPermission::kTopSites, | 198 {APIPermission::kTopSites, |
193 "topSites", | 199 "topSites", |
194 APIPermissionInfo::kFlagNone, | 200 APIPermissionInfo::kFlagNone, |
195 IDS_EXTENSION_PROMPT_WARNING_TOPSITES, | 201 IDS_EXTENSION_PROMPT_WARNING_TOPSITES, |
196 PermissionMessage::kTopSites}, | 202 PermissionMessage::kTopSites}, |
197 {APIPermission::kTts, "tts", 0, APIPermissionInfo::kFlagCannotBeOptional}, | 203 {APIPermission::kTts, "tts", 0, APIPermissionInfo::kFlagCannotBeOptional}, |
198 {APIPermission::kTtsEngine, | 204 {APIPermission::kTtsEngine, |
199 "ttsEngine", | 205 "ttsEngine", |
200 APIPermissionInfo::kFlagCannotBeOptional, | 206 APIPermissionInfo::kFlagCannotBeOptional, |
201 IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, | 207 IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
446 for (size_t i = 0; i < arraysize(permissions_to_register); ++i) | 452 for (size_t i = 0; i < arraysize(permissions_to_register); ++i) |
447 permissions.push_back(new APIPermissionInfo(permissions_to_register[i])); | 453 permissions.push_back(new APIPermissionInfo(permissions_to_register[i])); |
448 return permissions; | 454 return permissions; |
449 } | 455 } |
450 | 456 |
451 std::vector<PermissionsProvider::AliasInfo> | 457 std::vector<PermissionsProvider::AliasInfo> |
452 ChromeAPIPermissions::GetAllAliases() const { | 458 ChromeAPIPermissions::GetAllAliases() const { |
453 // Register aliases. | 459 // Register aliases. |
454 std::vector<PermissionsProvider::AliasInfo> aliases; | 460 std::vector<PermissionsProvider::AliasInfo> aliases; |
455 aliases.push_back(PermissionsProvider::AliasInfo("tabs", kWindowsPermission)); | 461 aliases.push_back(PermissionsProvider::AliasInfo("tabs", kWindowsPermission)); |
462 aliases.push_back( | |
463 PermissionsProvider::AliasInfo("tabs.global", kWindowsGlobalPermission)); | |
456 return aliases; | 464 return aliases; |
457 } | 465 } |
458 | 466 |
459 } // namespace extensions | 467 } // namespace extensions |
OLD | NEW |