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