Chromium Code Reviews| 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 |