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

Side by Side Diff: chrome/common/extensions/permissions/chrome_api_permissions.cc

Issue 530593002: Added chrome.printerProvider API definitions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Wed Oct 29 01:21:22 PDT 2014 Created 6 years, 1 month 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 (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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698