| 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" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 // WARNING: If you are modifying a permission message in this list, be sure to | 30 // WARNING: If you are modifying a permission message in this list, be sure to |
| 31 // add the corresponding permission message rule to | 31 // add the corresponding permission message rule to |
| 32 // ChromePermissionMessageProvider::GetCoalescedPermissionMessages as well. | 32 // ChromePermissionMessageProvider::GetCoalescedPermissionMessages as well. |
| 33 // TODO(sashab): Remove all permission messages from this list, once | 33 // TODO(sashab): Remove all permission messages from this list, once |
| 34 // GetCoalescedPermissionMessages() is the only way of generating permission | 34 // GetCoalescedPermissionMessages() is the only way of generating permission |
| 35 // messages. | 35 // messages. |
| 36 APIPermissionInfo::InitInfo permissions_to_register[] = { | 36 APIPermissionInfo::InitInfo permissions_to_register[] = { |
| 37 // Register permissions for all extension types. | 37 // Register permissions for all extension types. |
| 38 {APIPermission::kBackground, "background"}, | 38 {APIPermission::kBackground, "background"}, |
| 39 {APIPermission::kDeclarativeContent, "declarativeContent"}, | 39 {APIPermission::kDeclarativeContent, "declarativeContent"}, |
| 40 {APIPermission::kDesktopCapture, | 40 {APIPermission::kDesktopCapture, "desktopCapture", |
| 41 "desktopCapture", | |
| 42 APIPermissionInfo::kFlagNone, | 41 APIPermissionInfo::kFlagNone, |
| 43 IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE, | 42 IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE, |
| 44 PermissionMessage::kDesktopCapture}, | 43 PermissionMessage::kDesktopCapture}, |
| 45 {APIPermission::kDesktopCapturePrivate, "desktopCapturePrivate"}, | 44 {APIPermission::kDesktopCapturePrivate, "desktopCapturePrivate"}, |
| 46 {APIPermission::kDownloads, | 45 {APIPermission::kDownloads, "downloads", APIPermissionInfo::kFlagNone, |
| 47 "downloads", | 46 IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS, PermissionMessage::kDownloads}, |
| 48 APIPermissionInfo::kFlagNone, | 47 {APIPermission::kDownloadsOpen, "downloads.open", |
| 49 IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS, | |
| 50 PermissionMessage::kDownloads}, | |
| 51 {APIPermission::kDownloadsOpen, | |
| 52 "downloads.open", | |
| 53 APIPermissionInfo::kFlagNone, | 48 APIPermissionInfo::kFlagNone, |
| 54 IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN, | 49 IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN, |
| 55 PermissionMessage::kDownloadsOpen}, | 50 PermissionMessage::kDownloadsOpen}, |
| 56 {APIPermission::kDownloadsShelf, "downloads.shelf"}, | 51 {APIPermission::kDownloadsShelf, "downloads.shelf"}, |
| 57 {APIPermission::kEasyUnlockPrivate, "easyUnlockPrivate"}, | 52 {APIPermission::kEasyUnlockPrivate, "easyUnlockPrivate"}, |
| 58 {APIPermission::kIdentity, "identity"}, | 53 {APIPermission::kIdentity, "identity"}, |
| 59 {APIPermission::kIdentityEmail, | 54 {APIPermission::kIdentityEmail, "identity.email", |
| 60 "identity.email", | |
| 61 APIPermissionInfo::kFlagNone, | 55 APIPermissionInfo::kFlagNone, |
| 62 IDS_EXTENSION_PROMPT_WARNING_IDENTITY_EMAIL, | 56 IDS_EXTENSION_PROMPT_WARNING_IDENTITY_EMAIL, |
| 63 PermissionMessage::kIdentityEmail}, | 57 PermissionMessage::kIdentityEmail}, |
| 64 {APIPermission::kExperimental, | 58 {APIPermission::kExperimental, "experimental", |
| 65 "experimental", | |
| 66 APIPermissionInfo::kFlagCannotBeOptional}, | 59 APIPermissionInfo::kFlagCannotBeOptional}, |
| 67 {APIPermission::kEmbeddedExtensionOptions, | 60 {APIPermission::kEmbeddedExtensionOptions, "embeddedExtensionOptions", |
| 68 "embeddedExtensionOptions", | |
| 69 APIPermissionInfo::kFlagCannotBeOptional}, | 61 APIPermissionInfo::kFlagCannotBeOptional}, |
| 70 {APIPermission::kGeolocation, | 62 {APIPermission::kGeolocation, "geolocation", |
| 71 "geolocation", | |
| 72 APIPermissionInfo::kFlagCannotBeOptional, | 63 APIPermissionInfo::kFlagCannotBeOptional, |
| 73 IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, | 64 IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, |
| 74 PermissionMessage::kGeolocation}, | 65 PermissionMessage::kGeolocation}, |
| 75 {APIPermission::kNotifications, "notifications"}, | 66 {APIPermission::kNotifications, "notifications"}, |
| 76 {APIPermission::kGcdPrivate, "gcdPrivate"}, | 67 {APIPermission::kGcdPrivate, "gcdPrivate"}, |
| 77 {APIPermission::kGcm, "gcm"}, | 68 {APIPermission::kGcm, "gcm"}, |
| 78 {APIPermission::kNotificationProvider, "notificationProvider"}, | 69 {APIPermission::kNotificationProvider, "notificationProvider"}, |
| 79 | 70 |
| 80 // Register extension permissions. | 71 // Register extension permissions. |
| 81 {APIPermission::kAccessibilityFeaturesModify, | 72 {APIPermission::kAccessibilityFeaturesModify, |
| 82 "accessibilityFeatures.modify", | 73 "accessibilityFeatures.modify", APIPermissionInfo::kFlagNone, |
| 83 APIPermissionInfo::kFlagNone, | |
| 84 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_MODIFY, | 74 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_MODIFY, |
| 85 PermissionMessage::kAccessibilityFeaturesModify}, | 75 PermissionMessage::kAccessibilityFeaturesModify}, |
| 86 {APIPermission::kAccessibilityFeaturesRead, | 76 {APIPermission::kAccessibilityFeaturesRead, "accessibilityFeatures.read", |
| 87 "accessibilityFeatures.read", | |
| 88 APIPermissionInfo::kFlagNone, | 77 APIPermissionInfo::kFlagNone, |
| 89 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ, | 78 IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ, |
| 90 PermissionMessage::kAccessibilityFeaturesRead}, | 79 PermissionMessage::kAccessibilityFeaturesRead}, |
| 91 {APIPermission::kAccessibilityPrivate, | 80 {APIPermission::kAccessibilityPrivate, "accessibilityPrivate", |
| 92 "accessibilityPrivate", | |
| 93 APIPermissionInfo::kFlagCannotBeOptional}, | 81 APIPermissionInfo::kFlagCannotBeOptional}, |
| 94 {APIPermission::kActiveTab, "activeTab"}, | 82 {APIPermission::kActiveTab, "activeTab"}, |
| 95 {APIPermission::kAudioModem, "audioModem"}, | 83 {APIPermission::kAudioModem, "audioModem"}, |
| 96 {APIPermission::kBookmark, | 84 {APIPermission::kBookmark, "bookmarks", APIPermissionInfo::kFlagNone, |
| 97 "bookmarks", | 85 IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS, PermissionMessage::kBookmarks}, |
| 98 APIPermissionInfo::kFlagNone, | 86 {APIPermission::kBrailleDisplayPrivate, "brailleDisplayPrivate", |
| 99 IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS, | |
| 100 PermissionMessage::kBookmarks}, | |
| 101 {APIPermission::kBrailleDisplayPrivate, | |
| 102 "brailleDisplayPrivate", | |
| 103 APIPermissionInfo::kFlagCannotBeOptional}, | 87 APIPermissionInfo::kFlagCannotBeOptional}, |
| 104 {APIPermission::kBrowsingData, "browsingData"}, | 88 {APIPermission::kBrowsingData, "browsingData"}, |
| 105 {APIPermission::kContentSettings, | 89 {APIPermission::kContentSettings, "contentSettings", |
| 106 "contentSettings", | |
| 107 APIPermissionInfo::kFlagNone, | 90 APIPermissionInfo::kFlagNone, |
| 108 IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS, | 91 IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS, |
| 109 PermissionMessage::kContentSettings}, | 92 PermissionMessage::kContentSettings}, |
| 110 {APIPermission::kContextMenus, "contextMenus"}, | 93 {APIPermission::kContextMenus, "contextMenus"}, |
| 111 {APIPermission::kCookie, "cookies"}, | 94 {APIPermission::kCookie, "cookies"}, |
| 112 {APIPermission::kCopresence, | 95 {APIPermission::kCopresence, "copresence", APIPermissionInfo::kFlagNone, |
| 113 "copresence", | 96 IDS_EXTENSION_PROMPT_WARNING_COPRESENCE, PermissionMessage::kCopresence}, |
| 114 APIPermissionInfo::kFlagNone, | |
| 115 IDS_EXTENSION_PROMPT_WARNING_COPRESENCE, | |
| 116 PermissionMessage::kCopresence}, | |
| 117 {APIPermission::kCopresencePrivate, "copresencePrivate"}, | 97 {APIPermission::kCopresencePrivate, "copresencePrivate"}, |
| 118 {APIPermission::kCryptotokenPrivate, "cryptotokenPrivate"}, | 98 {APIPermission::kCryptotokenPrivate, "cryptotokenPrivate"}, |
| 119 {APIPermission::kDataReductionProxy, | 99 {APIPermission::kDataReductionProxy, "dataReductionProxy", |
| 120 "dataReductionProxy", | |
| 121 APIPermissionInfo::kFlagImpliesFullURLAccess | | 100 APIPermissionInfo::kFlagImpliesFullURLAccess | |
| 122 APIPermissionInfo::kFlagCannotBeOptional}, | 101 APIPermissionInfo::kFlagCannotBeOptional}, |
| 102 {APIPermission::kEnterpriseDeviceAttributes, |
| 103 "enterprise.deviceAttributes"}, |
| 123 {APIPermission::kEnterprisePlatformKeys, "enterprise.platformKeys"}, | 104 {APIPermission::kEnterprisePlatformKeys, "enterprise.platformKeys"}, |
| 124 {APIPermission::kFileBrowserHandler, | 105 {APIPermission::kFileBrowserHandler, "fileBrowserHandler", |
| 125 "fileBrowserHandler", | 106 APIPermissionInfo::kFlagCannotBeOptional}, |
| 126 APIPermissionInfo::kFlagCannotBeOptional}, | 107 {APIPermission::kFontSettings, "fontSettings", |
| 127 {APIPermission::kFontSettings, | 108 APIPermissionInfo::kFlagCannotBeOptional}, |
| 128 "fontSettings", | 109 {APIPermission::kHistory, "history", APIPermissionInfo::kFlagNone, |
| 129 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 130 {APIPermission::kHistory, | |
| 131 "history", | |
| 132 APIPermissionInfo::kFlagNone, | |
| 133 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE, | 110 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE, |
| 134 PermissionMessage::kBrowsingHistory}, | 111 PermissionMessage::kBrowsingHistory}, |
| 135 {APIPermission::kIdltest, "idltest"}, | 112 {APIPermission::kIdltest, "idltest"}, |
| 136 {APIPermission::kInput, | 113 {APIPermission::kInput, "input", APIPermissionInfo::kFlagNone, |
| 137 "input", | 114 IDS_EXTENSION_PROMPT_WARNING_INPUT, PermissionMessage::kInput}, |
| 138 APIPermissionInfo::kFlagNone, | 115 {APIPermission::kLocation, "location", |
| 139 IDS_EXTENSION_PROMPT_WARNING_INPUT, | |
| 140 PermissionMessage::kInput}, | |
| 141 {APIPermission::kLocation, | |
| 142 "location", | |
| 143 APIPermissionInfo::kFlagCannotBeOptional, | 116 APIPermissionInfo::kFlagCannotBeOptional, |
| 144 IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, | 117 IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, |
| 145 PermissionMessage::kGeolocation}, | 118 PermissionMessage::kGeolocation}, |
| 146 {APIPermission::kManagement, | 119 {APIPermission::kManagement, "management", APIPermissionInfo::kFlagNone, |
| 147 "management", | 120 IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT, PermissionMessage::kManagement}, |
| 148 APIPermissionInfo::kFlagNone, | 121 {APIPermission::kMDns, "mdns", APIPermissionInfo::kFlagCannotBeOptional, |
| 149 IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT, | 122 IDS_EXTENSION_PROMPT_WARNING_MDNS, PermissionMessage::kMDns}, |
| 150 PermissionMessage::kManagement}, | 123 {APIPermission::kNativeMessaging, "nativeMessaging", |
| 151 {APIPermission::kMDns, | |
| 152 "mdns", | |
| 153 APIPermissionInfo::kFlagCannotBeOptional, | |
| 154 IDS_EXTENSION_PROMPT_WARNING_MDNS, | |
| 155 PermissionMessage::kMDns}, | |
| 156 {APIPermission::kNativeMessaging, | |
| 157 "nativeMessaging", | |
| 158 APIPermissionInfo::kFlagNone, | 124 APIPermissionInfo::kFlagNone, |
| 159 IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING, | 125 IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING, |
| 160 PermissionMessage::kNativeMessaging}, | 126 PermissionMessage::kNativeMessaging}, |
| 161 {APIPermission::kPlatformKeys, | 127 {APIPermission::kPlatformKeys, "platformKeys", |
| 162 "platformKeys", | 128 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_PLATFORMKEYS, |
| 163 APIPermissionInfo::kFlagNone, | |
| 164 IDS_EXTENSION_PROMPT_WARNING_PLATFORMKEYS, | |
| 165 PermissionMessage::kPlatformKeys}, | 129 PermissionMessage::kPlatformKeys}, |
| 166 {APIPermission::kPrivacy, | 130 {APIPermission::kPrivacy, "privacy", APIPermissionInfo::kFlagNone, |
| 167 "privacy", | 131 IDS_EXTENSION_PROMPT_WARNING_PRIVACY, PermissionMessage::kPrivacy}, |
| 168 APIPermissionInfo::kFlagNone, | 132 {APIPermission::kProcesses, "processes", APIPermissionInfo::kFlagNone, |
| 169 IDS_EXTENSION_PROMPT_WARNING_PRIVACY, | 133 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, PermissionMessage::kTabs}, |
| 170 PermissionMessage::kPrivacy}, | |
| 171 {APIPermission::kProcesses, | |
| 172 "processes", | |
| 173 APIPermissionInfo::kFlagNone, | |
| 174 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, | |
| 175 PermissionMessage::kTabs}, | |
| 176 {APIPermission::kSessions, "sessions"}, | 134 {APIPermission::kSessions, "sessions"}, |
| 177 {APIPermission::kSignedInDevices, | 135 {APIPermission::kSignedInDevices, "signedInDevices", |
| 178 "signedInDevices", | |
| 179 APIPermissionInfo::kFlagNone, | 136 APIPermissionInfo::kFlagNone, |
| 180 IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES, | 137 IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES, |
| 181 PermissionMessage::kSignedInDevices}, | 138 PermissionMessage::kSignedInDevices}, |
| 182 {APIPermission::kSyncFileSystem, | 139 {APIPermission::kSyncFileSystem, "syncFileSystem", |
| 183 "syncFileSystem", | |
| 184 APIPermissionInfo::kFlagNone, | 140 APIPermissionInfo::kFlagNone, |
| 185 IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM, | 141 IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM, |
| 186 PermissionMessage::kSyncFileSystem}, | 142 PermissionMessage::kSyncFileSystem}, |
| 187 {APIPermission::kTab, | 143 {APIPermission::kTab, "tabs", APIPermissionInfo::kFlagNone, |
| 188 "tabs", | 144 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, PermissionMessage::kTabs}, |
| 189 APIPermissionInfo::kFlagNone, | 145 {APIPermission::kTopSites, "topSites", APIPermissionInfo::kFlagNone, |
| 190 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, | 146 IDS_EXTENSION_PROMPT_WARNING_TOPSITES, PermissionMessage::kTopSites}, |
| 147 {APIPermission::kTts, "tts", 0, APIPermissionInfo::kFlagCannotBeOptional}, |
| 148 {APIPermission::kTtsEngine, "ttsEngine", |
| 149 APIPermissionInfo::kFlagCannotBeOptional, |
| 150 IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, PermissionMessage::kTtsEngine}, |
| 151 {APIPermission::kWallpaper, "wallpaper", |
| 152 APIPermissionInfo::kFlagCannotBeOptional, |
| 153 IDS_EXTENSION_PROMPT_WARNING_WALLPAPER, PermissionMessage::kWallpaper}, |
| 154 {APIPermission::kWebNavigation, "webNavigation", |
| 155 APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, |
| 191 PermissionMessage::kTabs}, | 156 PermissionMessage::kTabs}, |
| 192 {APIPermission::kTopSites, | |
| 193 "topSites", | |
| 194 APIPermissionInfo::kFlagNone, | |
| 195 IDS_EXTENSION_PROMPT_WARNING_TOPSITES, | |
| 196 PermissionMessage::kTopSites}, | |
| 197 {APIPermission::kTts, "tts", 0, APIPermissionInfo::kFlagCannotBeOptional}, | |
| 198 {APIPermission::kTtsEngine, | |
| 199 "ttsEngine", | |
| 200 APIPermissionInfo::kFlagCannotBeOptional, | |
| 201 IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, | |
| 202 PermissionMessage::kTtsEngine}, | |
| 203 {APIPermission::kWallpaper, | |
| 204 "wallpaper", | |
| 205 APIPermissionInfo::kFlagCannotBeOptional, | |
| 206 IDS_EXTENSION_PROMPT_WARNING_WALLPAPER, | |
| 207 PermissionMessage::kWallpaper}, | |
| 208 {APIPermission::kWebNavigation, | |
| 209 "webNavigation", | |
| 210 APIPermissionInfo::kFlagNone, | |
| 211 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, | |
| 212 PermissionMessage::kTabs}, | |
| 213 | 157 |
| 214 // Register private permissions. | 158 // Register private permissions. |
| 215 {APIPermission::kScreenlockPrivate, | 159 {APIPermission::kScreenlockPrivate, "screenlockPrivate", |
| 216 "screenlockPrivate", | |
| 217 APIPermissionInfo::kFlagCannotBeOptional, | 160 APIPermissionInfo::kFlagCannotBeOptional, |
| 218 IDS_EXTENSION_PROMPT_WARNING_SCREENLOCK_PRIVATE, | 161 IDS_EXTENSION_PROMPT_WARNING_SCREENLOCK_PRIVATE, |
| 219 PermissionMessage::kScreenlockPrivate}, | 162 PermissionMessage::kScreenlockPrivate}, |
| 220 {APIPermission::kActivityLogPrivate, | 163 {APIPermission::kActivityLogPrivate, "activityLogPrivate", |
| 221 "activityLogPrivate", | |
| 222 APIPermissionInfo::kFlagCannotBeOptional, | 164 APIPermissionInfo::kFlagCannotBeOptional, |
| 223 IDS_EXTENSION_PROMPT_WARNING_ACTIVITY_LOG_PRIVATE, | 165 IDS_EXTENSION_PROMPT_WARNING_ACTIVITY_LOG_PRIVATE, |
| 224 PermissionMessage::kActivityLogPrivate}, | 166 PermissionMessage::kActivityLogPrivate}, |
| 225 {APIPermission::kAutoTestPrivate, | 167 {APIPermission::kAutoTestPrivate, "autotestPrivate", |
| 226 "autotestPrivate", | 168 APIPermissionInfo::kFlagCannotBeOptional}, |
| 227 APIPermissionInfo::kFlagCannotBeOptional}, | 169 {APIPermission::kBookmarkManagerPrivate, "bookmarkManagerPrivate", |
| 228 {APIPermission::kBookmarkManagerPrivate, | |
| 229 "bookmarkManagerPrivate", | |
| 230 APIPermissionInfo::kFlagCannotBeOptional}, | 170 APIPermissionInfo::kFlagCannotBeOptional}, |
| 231 {APIPermission::kCast, "cast", APIPermissionInfo::kFlagCannotBeOptional}, | 171 {APIPermission::kCast, "cast", APIPermissionInfo::kFlagCannotBeOptional}, |
| 232 {APIPermission::kChromeosInfoPrivate, | 172 {APIPermission::kChromeosInfoPrivate, "chromeosInfoPrivate", |
| 233 "chromeosInfoPrivate", | 173 APIPermissionInfo::kFlagCannotBeOptional}, |
| 234 APIPermissionInfo::kFlagCannotBeOptional}, | 174 {APIPermission::kCommandsAccessibility, "commands.accessibility", |
| 235 {APIPermission::kCommandsAccessibility, | 175 APIPermissionInfo::kFlagCannotBeOptional}, |
| 236 "commands.accessibility", | 176 {APIPermission::kCommandLinePrivate, "commandLinePrivate", |
| 237 APIPermissionInfo::kFlagCannotBeOptional}, | 177 APIPermissionInfo::kFlagCannotBeOptional}, |
| 238 {APIPermission::kCommandLinePrivate, | 178 {APIPermission::kDeveloperPrivate, "developerPrivate", |
| 239 "commandLinePrivate", | |
| 240 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 241 {APIPermission::kDeveloperPrivate, | |
| 242 "developerPrivate", | |
| 243 APIPermissionInfo::kFlagCannotBeOptional}, | 179 APIPermissionInfo::kFlagCannotBeOptional}, |
| 244 {APIPermission::kDial, "dial", APIPermissionInfo::kFlagCannotBeOptional}, | 180 {APIPermission::kDial, "dial", APIPermissionInfo::kFlagCannotBeOptional}, |
| 245 {APIPermission::kDownloadsInternal, "downloadsInternal"}, | 181 {APIPermission::kDownloadsInternal, "downloadsInternal"}, |
| 246 {APIPermission::kExperienceSamplingPrivate, | 182 {APIPermission::kExperienceSamplingPrivate, "experienceSamplingPrivate", |
| 247 "experienceSamplingPrivate", | |
| 248 APIPermissionInfo::kFlagCannotBeOptional, | 183 APIPermissionInfo::kFlagCannotBeOptional, |
| 249 IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE, | 184 IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE, |
| 250 PermissionMessage::kExperienceSamplingPrivate}, | 185 PermissionMessage::kExperienceSamplingPrivate}, |
| 251 {APIPermission::kFileBrowserHandlerInternal, | 186 {APIPermission::kFileBrowserHandlerInternal, "fileBrowserHandlerInternal", |
| 252 "fileBrowserHandlerInternal", | 187 APIPermissionInfo::kFlagCannotBeOptional}, |
| 253 APIPermissionInfo::kFlagCannotBeOptional}, | 188 {APIPermission::kFileManagerPrivate, "fileManagerPrivate", |
| 254 {APIPermission::kFileManagerPrivate, | 189 APIPermissionInfo::kFlagCannotBeOptional}, |
| 255 "fileManagerPrivate", | 190 {APIPermission::kHotwordPrivate, "hotwordPrivate", |
| 256 APIPermissionInfo::kFlagCannotBeOptional}, | 191 APIPermissionInfo::kFlagCannotBeOptional}, |
| 257 {APIPermission::kHotwordPrivate, | 192 {APIPermission::kIdentityPrivate, "identityPrivate", |
| 258 "hotwordPrivate", | 193 APIPermissionInfo::kFlagCannotBeOptional}, |
| 259 APIPermissionInfo::kFlagCannotBeOptional}, | 194 {APIPermission::kLogPrivate, "logPrivate", |
| 260 {APIPermission::kIdentityPrivate, | |
| 261 "identityPrivate", | |
| 262 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 263 {APIPermission::kLogPrivate, | |
| 264 "logPrivate", | |
| 265 APIPermissionInfo::kFlagCannotBeOptional}, | 195 APIPermissionInfo::kFlagCannotBeOptional}, |
| 266 {APIPermission::kWebcamPrivate, "webcamPrivate"}, | 196 {APIPermission::kWebcamPrivate, "webcamPrivate"}, |
| 267 {APIPermission::kMediaPlayerPrivate, | 197 {APIPermission::kMediaPlayerPrivate, "mediaPlayerPrivate", |
| 268 "mediaPlayerPrivate", | 198 APIPermissionInfo::kFlagCannotBeOptional}, |
| 269 APIPermissionInfo::kFlagCannotBeOptional}, | 199 {APIPermission::kMediaRouterPrivate, "mediaRouterPrivate", |
| 270 {APIPermission::kMediaRouterPrivate, | 200 APIPermissionInfo::kFlagCannotBeOptional}, |
| 271 "mediaRouterPrivate", | 201 {APIPermission::kMetricsPrivate, "metricsPrivate", |
| 272 APIPermissionInfo::kFlagCannotBeOptional}, | 202 APIPermissionInfo::kFlagCannotBeOptional}, |
| 273 {APIPermission::kMetricsPrivate, | 203 {APIPermission::kMusicManagerPrivate, "musicManagerPrivate", |
| 274 "metricsPrivate", | |
| 275 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 276 {APIPermission::kMusicManagerPrivate, | |
| 277 "musicManagerPrivate", | |
| 278 APIPermissionInfo::kFlagCannotBeOptional, | 204 APIPermissionInfo::kFlagCannotBeOptional, |
| 279 IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE, | 205 IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE, |
| 280 PermissionMessage::kMusicManagerPrivate}, | 206 PermissionMessage::kMusicManagerPrivate}, |
| 281 {APIPermission::kPreferencesPrivate, | 207 {APIPermission::kPreferencesPrivate, "preferencesPrivate", |
| 282 "preferencesPrivate", | 208 APIPermissionInfo::kFlagCannotBeOptional}, |
| 283 APIPermissionInfo::kFlagCannotBeOptional}, | 209 {APIPermission::kSystemPrivate, "systemPrivate", |
| 284 {APIPermission::kSystemPrivate, | 210 APIPermissionInfo::kFlagCannotBeOptional}, |
| 285 "systemPrivate", | 211 {APIPermission::kCloudPrintPrivate, "cloudPrintPrivate", |
| 286 APIPermissionInfo::kFlagCannotBeOptional}, | 212 APIPermissionInfo::kFlagCannotBeOptional}, |
| 287 {APIPermission::kCloudPrintPrivate, | 213 {APIPermission::kInputMethodPrivate, "inputMethodPrivate", |
| 288 "cloudPrintPrivate", | 214 APIPermissionInfo::kFlagCannotBeOptional}, |
| 289 APIPermissionInfo::kFlagCannotBeOptional}, | 215 {APIPermission::kEchoPrivate, "echoPrivate", |
| 290 {APIPermission::kInputMethodPrivate, | 216 APIPermissionInfo::kFlagCannotBeOptional}, |
| 291 "inputMethodPrivate", | 217 {APIPermission::kFeedbackPrivate, "feedbackPrivate", |
| 292 APIPermissionInfo::kFlagCannotBeOptional}, | 218 APIPermissionInfo::kFlagCannotBeOptional}, |
| 293 {APIPermission::kEchoPrivate, | 219 {APIPermission::kImageWriterPrivate, "imageWriterPrivate", |
| 294 "echoPrivate", | 220 APIPermissionInfo::kFlagCannotBeOptional}, |
| 295 APIPermissionInfo::kFlagCannotBeOptional}, | 221 {APIPermission::kReadingListPrivate, "readingListPrivate", |
| 296 {APIPermission::kFeedbackPrivate, | 222 APIPermissionInfo::kFlagCannotBeOptional}, |
| 297 "feedbackPrivate", | 223 {APIPermission::kRtcPrivate, "rtcPrivate", |
| 298 APIPermissionInfo::kFlagCannotBeOptional}, | 224 APIPermissionInfo::kFlagCannotBeOptional}, |
| 299 {APIPermission::kImageWriterPrivate, | 225 {APIPermission::kTerminalPrivate, "terminalPrivate", |
| 300 "imageWriterPrivate", | 226 APIPermissionInfo::kFlagCannotBeOptional}, |
| 301 APIPermissionInfo::kFlagCannotBeOptional}, | 227 {APIPermission::kVirtualKeyboardPrivate, "virtualKeyboardPrivate", |
| 302 {APIPermission::kReadingListPrivate, | 228 APIPermissionInfo::kFlagCannotBeOptional}, |
| 303 "readingListPrivate", | 229 {APIPermission::kWallpaperPrivate, "wallpaperPrivate", |
| 304 APIPermissionInfo::kFlagCannotBeOptional}, | 230 APIPermissionInfo::kFlagCannotBeOptional}, |
| 305 {APIPermission::kRtcPrivate, | 231 {APIPermission::kWebstorePrivate, "webstorePrivate", |
| 306 "rtcPrivate", | 232 APIPermissionInfo::kFlagCannotBeOptional}, |
| 307 APIPermissionInfo::kFlagCannotBeOptional}, | 233 {APIPermission::kStreamsPrivate, "streamsPrivate", |
| 308 {APIPermission::kTerminalPrivate, | |
| 309 "terminalPrivate", | |
| 310 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 311 {APIPermission::kVirtualKeyboardPrivate, | |
| 312 "virtualKeyboardPrivate", | |
| 313 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 314 {APIPermission::kWallpaperPrivate, | |
| 315 "wallpaperPrivate", | |
| 316 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 317 {APIPermission::kWebstorePrivate, | |
| 318 "webstorePrivate", | |
| 319 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 320 {APIPermission::kStreamsPrivate, | |
| 321 "streamsPrivate", | |
| 322 APIPermissionInfo::kFlagCannotBeOptional}, | 234 APIPermissionInfo::kFlagCannotBeOptional}, |
| 323 {APIPermission::kEnterprisePlatformKeysPrivate, | 235 {APIPermission::kEnterprisePlatformKeysPrivate, |
| 324 "enterprise.platformKeysPrivate", | 236 "enterprise.platformKeysPrivate", |
| 325 APIPermissionInfo::kFlagCannotBeOptional}, | 237 APIPermissionInfo::kFlagCannotBeOptional}, |
| 326 {APIPermission::kWebrtcAudioPrivate, | 238 {APIPermission::kWebrtcAudioPrivate, "webrtcAudioPrivate", |
| 327 "webrtcAudioPrivate", | |
| 328 APIPermissionInfo::kFlagCannotBeOptional}, | 239 APIPermissionInfo::kFlagCannotBeOptional}, |
| 329 {APIPermission::kWebrtcDesktopCapturePrivate, | 240 {APIPermission::kWebrtcDesktopCapturePrivate, |
| 330 "webrtcDesktopCapturePrivate", | 241 "webrtcDesktopCapturePrivate", APIPermissionInfo::kFlagCannotBeOptional}, |
| 331 APIPermissionInfo::kFlagCannotBeOptional}, | 242 {APIPermission::kWebrtcLoggingPrivate, "webrtcLoggingPrivate", |
| 332 {APIPermission::kWebrtcLoggingPrivate, | 243 APIPermissionInfo::kFlagCannotBeOptional}, |
| 333 "webrtcLoggingPrivate", | 244 {APIPermission::kPrincipalsPrivate, "principalsPrivate", |
| 334 APIPermissionInfo::kFlagCannotBeOptional}, | 245 APIPermissionInfo::kFlagCannotBeOptional}, |
| 335 {APIPermission::kPrincipalsPrivate, | 246 {APIPermission::kFirstRunPrivate, "firstRunPrivate", |
| 336 "principalsPrivate", | |
| 337 APIPermissionInfo::kFlagCannotBeOptional}, | |
| 338 {APIPermission::kFirstRunPrivate, | |
| 339 "firstRunPrivate", | |
| 340 APIPermissionInfo::kFlagCannotBeOptional}, | 247 APIPermissionInfo::kFlagCannotBeOptional}, |
| 341 {APIPermission::kInlineInstallPrivate, "inlineInstallPrivate"}, | 248 {APIPermission::kInlineInstallPrivate, "inlineInstallPrivate"}, |
| 342 {APIPermission::kSettingsPrivate, | 249 {APIPermission::kSettingsPrivate, "settingsPrivate", |
| 343 "settingsPrivate", | |
| 344 APIPermissionInfo::kFlagCannotBeOptional, | 250 APIPermissionInfo::kFlagCannotBeOptional, |
| 345 IDS_EXTENSION_PROMPT_WARNING_SETTINGS_PRIVATE, | 251 IDS_EXTENSION_PROMPT_WARNING_SETTINGS_PRIVATE, |
| 346 PermissionMessage::kSettingsPrivate}, | 252 PermissionMessage::kSettingsPrivate}, |
| 347 {APIPermission::kSearchEnginesPrivate, | 253 {APIPermission::kSearchEnginesPrivate, "searchEnginesPrivate", |
| 348 "searchEnginesPrivate", | |
| 349 APIPermissionInfo::kFlagCannotBeOptional, | 254 APIPermissionInfo::kFlagCannotBeOptional, |
| 350 IDS_EXTENSION_PROMPT_WARNING_SEARCH_ENGINES_PRIVATE, | 255 IDS_EXTENSION_PROMPT_WARNING_SEARCH_ENGINES_PRIVATE, |
| 351 PermissionMessage::kSearchEnginesPrivate}, | 256 PermissionMessage::kSearchEnginesPrivate}, |
| 352 {APIPermission::kAutofillPrivate, | 257 {APIPermission::kAutofillPrivate, "autofillPrivate", |
| 353 "autofillPrivate", | |
| 354 APIPermissionInfo::kFlagCannotBeOptional, | 258 APIPermissionInfo::kFlagCannotBeOptional, |
| 355 IDS_EXTENSION_PROMPT_WARNING_AUTOFILL_PRIVATE, | 259 IDS_EXTENSION_PROMPT_WARNING_AUTOFILL_PRIVATE, |
| 356 PermissionMessage::kAutofillPrivate}, | 260 PermissionMessage::kAutofillPrivate}, |
| 357 {APIPermission::kWebstoreWidgetPrivate, | 261 {APIPermission::kWebstoreWidgetPrivate, "webstoreWidgetPrivate", |
| 358 "webstoreWidgetPrivate", | 262 APIPermissionInfo::kFlagCannotBeOptional}, |
| 359 APIPermissionInfo::kFlagCannotBeOptional}, | 263 {APIPermission::kPasswordsPrivate, "passwordsPrivate", |
| 360 {APIPermission::kPasswordsPrivate, | |
| 361 "passwordsPrivate", | |
| 362 APIPermissionInfo::kFlagCannotBeOptional, | 264 APIPermissionInfo::kFlagCannotBeOptional, |
| 363 IDS_EXTENSION_PROMPT_WARNING_PASSWORDS_PRIVATE, | 265 IDS_EXTENSION_PROMPT_WARNING_PASSWORDS_PRIVATE, |
| 364 PermissionMessage::kPasswordsPrivate}, | 266 PermissionMessage::kPasswordsPrivate}, |
| 365 {APIPermission::kUsersPrivate, | 267 {APIPermission::kUsersPrivate, "usersPrivate", |
| 366 "usersPrivate", | |
| 367 APIPermissionInfo::kFlagCannotBeOptional, | 268 APIPermissionInfo::kFlagCannotBeOptional, |
| 368 IDS_EXTENSION_PROMPT_WARNING_USERS_PRIVATE, | 269 IDS_EXTENSION_PROMPT_WARNING_USERS_PRIVATE, |
| 369 PermissionMessage::kUsersPrivate}, | 270 PermissionMessage::kUsersPrivate}, |
| 370 {APIPermission::kLanguageSettingsPrivate, | 271 {APIPermission::kLanguageSettingsPrivate, "languageSettingsPrivate", |
| 371 "languageSettingsPrivate", | |
| 372 APIPermissionInfo::kFlagCannotBeOptional}, | 272 APIPermissionInfo::kFlagCannotBeOptional}, |
| 373 | 273 |
| 374 // Full url access permissions. | 274 // Full url access permissions. |
| 375 {APIPermission::kDebugger, | 275 {APIPermission::kDebugger, "debugger", |
| 376 "debugger", | |
| 377 APIPermissionInfo::kFlagImpliesFullURLAccess | | 276 APIPermissionInfo::kFlagImpliesFullURLAccess | |
| 378 APIPermissionInfo::kFlagCannotBeOptional, | 277 APIPermissionInfo::kFlagCannotBeOptional, |
| 379 IDS_EXTENSION_PROMPT_WARNING_DEBUGGER, | 278 IDS_EXTENSION_PROMPT_WARNING_DEBUGGER, PermissionMessage::kDebugger}, |
| 380 PermissionMessage::kDebugger}, | 279 {APIPermission::kDevtools, "devtools", |
| 381 {APIPermission::kDevtools, | |
| 382 "devtools", | |
| 383 APIPermissionInfo::kFlagImpliesFullURLAccess | | 280 APIPermissionInfo::kFlagImpliesFullURLAccess | |
| 384 APIPermissionInfo::kFlagCannotBeOptional | | 281 APIPermissionInfo::kFlagCannotBeOptional | |
| 385 APIPermissionInfo::kFlagInternal}, | 282 APIPermissionInfo::kFlagInternal}, |
| 386 {APIPermission::kPageCapture, | 283 {APIPermission::kPageCapture, "pageCapture", |
| 387 "pageCapture", | |
| 388 APIPermissionInfo::kFlagImpliesFullURLAccess}, | 284 APIPermissionInfo::kFlagImpliesFullURLAccess}, |
| 389 {APIPermission::kTabCapture, | 285 {APIPermission::kTabCapture, "tabCapture", |
| 390 "tabCapture", | |
| 391 APIPermissionInfo::kFlagImpliesFullURLAccess}, | 286 APIPermissionInfo::kFlagImpliesFullURLAccess}, |
| 392 {APIPermission::kTabCaptureForTab, | 287 {APIPermission::kTabCaptureForTab, "tabCaptureForTab", |
| 393 "tabCaptureForTab", | |
| 394 APIPermissionInfo::kFlagInternal}, | 288 APIPermissionInfo::kFlagInternal}, |
| 395 {APIPermission::kPlugin, | 289 {APIPermission::kPlugin, "plugin", |
| 396 "plugin", | |
| 397 APIPermissionInfo::kFlagImpliesFullURLAccess | | 290 APIPermissionInfo::kFlagImpliesFullURLAccess | |
| 398 APIPermissionInfo::kFlagImpliesFullAccess | | 291 APIPermissionInfo::kFlagImpliesFullAccess | |
| 399 APIPermissionInfo::kFlagCannotBeOptional | | 292 APIPermissionInfo::kFlagCannotBeOptional | |
| 400 APIPermissionInfo::kFlagInternal, | 293 APIPermissionInfo::kFlagInternal, |
| 401 IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS, | 294 IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS, |
| 402 PermissionMessage::kFullAccess}, | 295 PermissionMessage::kFullAccess}, |
| 403 {APIPermission::kProxy, | 296 {APIPermission::kProxy, "proxy", |
| 404 "proxy", | |
| 405 APIPermissionInfo::kFlagImpliesFullURLAccess | | 297 APIPermissionInfo::kFlagImpliesFullURLAccess | |
| 406 APIPermissionInfo::kFlagCannotBeOptional}, | 298 APIPermissionInfo::kFlagCannotBeOptional}, |
| 407 | 299 |
| 408 // Platform-app permissions. | 300 // Platform-app permissions. |
| 409 | 301 |
| 410 // The permission string for "fileSystem" is only shown when | 302 // The permission string for "fileSystem" is only shown when |
| 411 // "write" or "directory" is present. Read-only access is only | 303 // "write" or "directory" is present. Read-only access is only |
| 412 // granted after the user has been shown a file or directory | 304 // granted after the user has been shown a file or directory |
| 413 // chooser dialog and selected a file or directory. Selecting | 305 // chooser dialog and selected a file or directory. Selecting |
| 414 // the file or directory is considered consent to read it. | 306 // the file or directory is considered consent to read it. |
| 415 {APIPermission::kFileSystem, "fileSystem"}, | 307 {APIPermission::kFileSystem, "fileSystem"}, |
| 416 {APIPermission::kFileSystemDirectory, | 308 {APIPermission::kFileSystemDirectory, "fileSystem.directory", |
| 417 "fileSystem.directory", | |
| 418 APIPermissionInfo::kFlagNone, | 309 APIPermissionInfo::kFlagNone, |
| 419 IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_DIRECTORY, | 310 IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_DIRECTORY, |
| 420 PermissionMessage::kFileSystemDirectory}, | 311 PermissionMessage::kFileSystemDirectory}, |
| 421 {APIPermission::kFileSystemProvider, "fileSystemProvider"}, | 312 {APIPermission::kFileSystemProvider, "fileSystemProvider"}, |
| 422 {APIPermission::kFileSystemRequestFileSystem, | 313 {APIPermission::kFileSystemRequestFileSystem, |
| 423 "fileSystem.requestFileSystem"}, | 314 "fileSystem.requestFileSystem"}, |
| 424 {APIPermission::kFileSystemRetainEntries, "fileSystem.retainEntries"}, | 315 {APIPermission::kFileSystemRetainEntries, "fileSystem.retainEntries"}, |
| 425 {APIPermission::kFileSystemWrite, "fileSystem.write"}, | 316 {APIPermission::kFileSystemWrite, "fileSystem.write"}, |
| 426 {APIPermission::kFileSystemWriteDirectory, | 317 {APIPermission::kFileSystemWriteDirectory, "fileSystem.writeDirectory", |
| 427 "fileSystem.writeDirectory", | |
| 428 APIPermissionInfo::kFlagNone, | 318 APIPermissionInfo::kFlagNone, |
| 429 IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY, | 319 IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY, |
| 430 PermissionMessage::kFileSystemWriteDirectory}, | 320 PermissionMessage::kFileSystemWriteDirectory}, |
| 431 // Because warning messages for the "mediaGalleries" permission | 321 // Because warning messages for the "mediaGalleries" permission |
| 432 // vary based on the permissions parameters, no message ID or | 322 // vary based on the permissions parameters, no message ID or |
| 433 // message text is specified here. The message ID and text used | 323 // message text is specified here. The message ID and text used |
| 434 // will be determined at run-time in the | 324 // will be determined at run-time in the |
| 435 // |MediaGalleriesPermission| class. | 325 // |MediaGalleriesPermission| class. |
| 436 {APIPermission::kMediaGalleries, | 326 {APIPermission::kMediaGalleries, "mediaGalleries", |
| 437 "mediaGalleries", | 327 APIPermissionInfo::kFlagNone, 0, PermissionMessage::kNone, |
| 438 APIPermissionInfo::kFlagNone, | |
| 439 0, | |
| 440 PermissionMessage::kNone, | |
| 441 &CreateAPIPermission<MediaGalleriesPermission>}, | 328 &CreateAPIPermission<MediaGalleriesPermission>}, |
| 442 {APIPermission::kPointerLock, "pointerLock"}, | 329 {APIPermission::kPointerLock, "pointerLock"}, |
| 443 {APIPermission::kCastStreaming, "cast.streaming"}, | 330 {APIPermission::kCastStreaming, "cast.streaming"}, |
| 444 {APIPermission::kBrowser, "browser"}, | 331 {APIPermission::kBrowser, "browser"}, |
| 445 {APIPermission::kInterceptAllKeys, | 332 {APIPermission::kInterceptAllKeys, "app.window.interceptAllKeys", |
| 446 "app.window.interceptAllKeys", | |
| 447 APIPermissionInfo::kFlagNone, | 333 APIPermissionInfo::kFlagNone, |
| 448 IDS_EXTENSION_PROMPT_WARNING_INTERCEPT_ALL_KEYS, | 334 IDS_EXTENSION_PROMPT_WARNING_INTERCEPT_ALL_KEYS, |
| 449 PermissionMessage::kInterceptAllKeys}, | 335 PermissionMessage::kInterceptAllKeys}, |
| 450 {APIPermission::kLauncherSearchProvider, "launcherSearchProvider"}, | 336 {APIPermission::kLauncherSearchProvider, "launcherSearchProvider"}, |
| 451 | 337 |
| 452 // Settings override permissions. | 338 // Settings override permissions. |
| 453 {APIPermission::kHomepage, | 339 {APIPermission::kHomepage, "homepage", |
| 454 "homepage", | |
| 455 APIPermissionInfo::kFlagCannotBeOptional | | 340 APIPermissionInfo::kFlagCannotBeOptional | |
| 456 APIPermissionInfo::kFlagInternal, | 341 APIPermissionInfo::kFlagInternal, |
| 457 IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE, | 342 IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE, |
| 458 PermissionMessage::kHomepage}, | 343 PermissionMessage::kHomepage}, |
| 459 {APIPermission::kSearchProvider, | 344 {APIPermission::kSearchProvider, "searchProvider", |
| 460 "searchProvider", | |
| 461 APIPermissionInfo::kFlagCannotBeOptional | | 345 APIPermissionInfo::kFlagCannotBeOptional | |
| 462 APIPermissionInfo::kFlagInternal, | 346 APIPermissionInfo::kFlagInternal, |
| 463 IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE, | 347 IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE, |
| 464 PermissionMessage::kSearchProvider}, | 348 PermissionMessage::kSearchProvider}, |
| 465 {APIPermission::kStartupPages, | 349 {APIPermission::kStartupPages, "startupPages", |
| 466 "startupPages", | |
| 467 APIPermissionInfo::kFlagCannotBeOptional | | 350 APIPermissionInfo::kFlagCannotBeOptional | |
| 468 APIPermissionInfo::kFlagInternal, | 351 APIPermissionInfo::kFlagInternal, |
| 469 IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE, | 352 IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE, |
| 470 PermissionMessage::kStartupPages}, | 353 PermissionMessage::kStartupPages}, |
| 471 }; | 354 }; |
| 472 | 355 |
| 473 std::vector<APIPermissionInfo*> permissions; | 356 std::vector<APIPermissionInfo*> permissions; |
| 474 | 357 |
| 475 for (size_t i = 0; i < arraysize(permissions_to_register); ++i) | 358 for (size_t i = 0; i < arraysize(permissions_to_register); ++i) |
| 476 permissions.push_back(new APIPermissionInfo(permissions_to_register[i])); | 359 permissions.push_back(new APIPermissionInfo(permissions_to_register[i])); |
| 477 return permissions; | 360 return permissions; |
| 478 } | 361 } |
| 479 | 362 |
| 480 std::vector<PermissionsProvider::AliasInfo> | 363 std::vector<PermissionsProvider::AliasInfo> |
| 481 ChromeAPIPermissions::GetAllAliases() const { | 364 ChromeAPIPermissions::GetAllAliases() const { |
| 482 // Register aliases. | 365 // Register aliases. |
| 483 std::vector<PermissionsProvider::AliasInfo> aliases; | 366 std::vector<PermissionsProvider::AliasInfo> aliases; |
| 484 aliases.push_back(PermissionsProvider::AliasInfo("tabs", kWindowsPermission)); | 367 aliases.push_back(PermissionsProvider::AliasInfo("tabs", kWindowsPermission)); |
| 485 return aliases; | 368 return aliases; |
| 486 } | 369 } |
| 487 | 370 |
| 488 } // namespace extensions | 371 } // namespace extensions |
| OLD | NEW |