OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/extension.h" | 5 #include "chrome/common/extensions/extension.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 const char Extension::kChromePrivatePermission[] = "chromePrivate"; | 271 const char Extension::kChromePrivatePermission[] = "chromePrivate"; |
272 const char Extension::kChromeosInfoPrivatePermission[] = "chromeosInfoPrivate"; | 272 const char Extension::kChromeosInfoPrivatePermission[] = "chromeosInfoPrivate"; |
273 const char Extension::kDebuggerPermission[] = "debugger"; | 273 const char Extension::kDebuggerPermission[] = "debugger"; |
274 const char Extension::kExperimentalPermission[] = "experimental"; | 274 const char Extension::kExperimentalPermission[] = "experimental"; |
275 const char Extension::kFileBrowserHandlerPermission[] = "fileBrowserHandler"; | 275 const char Extension::kFileBrowserHandlerPermission[] = "fileBrowserHandler"; |
276 const char Extension::kFileBrowserPrivatePermission[] = "fileBrowserPrivate"; | 276 const char Extension::kFileBrowserPrivatePermission[] = "fileBrowserPrivate"; |
277 const char Extension::kGeolocationPermission[] = "geolocation"; | 277 const char Extension::kGeolocationPermission[] = "geolocation"; |
278 const char Extension::kHistoryPermission[] = "history"; | 278 const char Extension::kHistoryPermission[] = "history"; |
279 const char Extension::kIdlePermission[] = "idle"; | 279 const char Extension::kIdlePermission[] = "idle"; |
280 const char Extension::kManagementPermission[] = "management"; | 280 const char Extension::kManagementPermission[] = "management"; |
| 281 const char Extension::kMediaPlayerPrivatePermission[] = "mediaPlayerPrivate"; |
281 const char Extension::kNotificationPermission[] = "notifications"; | 282 const char Extension::kNotificationPermission[] = "notifications"; |
282 const char Extension::kProxyPermission[] = "proxy"; | 283 const char Extension::kProxyPermission[] = "proxy"; |
283 const char Extension::kTabPermission[] = "tabs"; | 284 const char Extension::kTabPermission[] = "tabs"; |
284 const char Extension::kUnlimitedStoragePermission[] = "unlimitedStorage"; | 285 const char Extension::kUnlimitedStoragePermission[] = "unlimitedStorage"; |
285 const char Extension::kWebstorePrivatePermission[] = "webstorePrivate"; | 286 const char Extension::kWebstorePrivatePermission[] = "webstorePrivate"; |
286 const char Extension::kWebSocketProxyPrivatePermission[] = | 287 const char Extension::kWebSocketProxyPrivatePermission[] = |
287 "webSocketProxyPrivate"; | 288 "webSocketProxyPrivate"; |
288 | 289 |
289 // In general, all permissions should have an install message. | 290 // In general, all permissions should have an install message. |
290 // See ExtensionsTest.PermissionMessages for an explanation of each | 291 // See ExtensionsTest.PermissionMessages for an explanation of each |
291 // exception. | 292 // exception. |
292 const Extension::Permission Extension::kPermissions[] = { | 293 const Extension::Permission Extension::kPermissions[] = { |
293 { kBackgroundPermission, PermissionMessage::ID_NONE }, | 294 { kBackgroundPermission, PermissionMessage::ID_NONE }, |
294 { kBookmarkPermission, PermissionMessage::ID_BOOKMARKS }, | 295 { kBookmarkPermission, PermissionMessage::ID_BOOKMARKS }, |
295 { kChromePrivatePermission, PermissionMessage::ID_NONE }, | 296 { kChromePrivatePermission, PermissionMessage::ID_NONE }, |
296 { kChromeosInfoPrivatePermission, PermissionMessage::ID_NONE }, | 297 { kChromeosInfoPrivatePermission, PermissionMessage::ID_NONE }, |
297 { kClipboardReadPermission, PermissionMessage::ID_CLIPBOARD }, | 298 { kClipboardReadPermission, PermissionMessage::ID_CLIPBOARD }, |
298 { kClipboardWritePermission, PermissionMessage::ID_NONE }, | 299 { kClipboardWritePermission, PermissionMessage::ID_NONE }, |
299 { kContentSettingsPermission, PermissionMessage::ID_NONE }, | 300 { kContentSettingsPermission, PermissionMessage::ID_NONE }, |
300 { kContextMenusPermission, PermissionMessage::ID_NONE }, | 301 { kContextMenusPermission, PermissionMessage::ID_NONE }, |
301 { kCookiePermission, PermissionMessage::ID_NONE }, | 302 { kCookiePermission, PermissionMessage::ID_NONE }, |
302 { kDebuggerPermission, PermissionMessage::ID_DEBUGGER }, | 303 { kDebuggerPermission, PermissionMessage::ID_DEBUGGER }, |
303 { kExperimentalPermission, PermissionMessage::ID_NONE }, | 304 { kExperimentalPermission, PermissionMessage::ID_NONE }, |
304 { kFileBrowserHandlerPermission, PermissionMessage::ID_NONE }, | 305 { kFileBrowserHandlerPermission, PermissionMessage::ID_NONE }, |
305 { kFileBrowserPrivatePermission, PermissionMessage::ID_NONE }, | 306 { kFileBrowserPrivatePermission, PermissionMessage::ID_NONE }, |
306 { kGeolocationPermission, PermissionMessage::ID_GEOLOCATION }, | 307 { kGeolocationPermission, PermissionMessage::ID_GEOLOCATION }, |
307 { kHistoryPermission, PermissionMessage::ID_BROWSING_HISTORY }, | 308 { kHistoryPermission, PermissionMessage::ID_BROWSING_HISTORY }, |
308 { kIdlePermission, PermissionMessage::ID_NONE }, | 309 { kIdlePermission, PermissionMessage::ID_NONE }, |
309 { kManagementPermission, PermissionMessage::ID_MANAGEMENT }, | 310 { kManagementPermission, PermissionMessage::ID_MANAGEMENT }, |
| 311 { kMediaPlayerPrivatePermission, PermissionMessage::ID_NONE }, |
310 { kNotificationPermission, PermissionMessage::ID_NONE }, | 312 { kNotificationPermission, PermissionMessage::ID_NONE }, |
311 { kProxyPermission, PermissionMessage::ID_NONE }, | 313 { kProxyPermission, PermissionMessage::ID_NONE }, |
312 { kTabPermission, PermissionMessage::ID_TABS }, | 314 { kTabPermission, PermissionMessage::ID_TABS }, |
313 { kUnlimitedStoragePermission, PermissionMessage::ID_NONE }, | 315 { kUnlimitedStoragePermission, PermissionMessage::ID_NONE }, |
314 { kWebSocketProxyPrivatePermission, PermissionMessage::ID_NONE }, | 316 { kWebSocketProxyPrivatePermission, PermissionMessage::ID_NONE }, |
315 { kWebstorePrivatePermission, PermissionMessage::ID_NONE }, | 317 { kWebstorePrivatePermission, PermissionMessage::ID_NONE }, |
316 }; | 318 }; |
317 const size_t Extension::kNumPermissions = arraysize(Extension::kPermissions); | 319 const size_t Extension::kNumPermissions = arraysize(Extension::kPermissions); |
318 | 320 |
319 const char* const Extension::kHostedAppPermissionNames[] = { | 321 const char* const Extension::kHostedAppPermissionNames[] = { |
320 Extension::kBackgroundPermission, | 322 Extension::kBackgroundPermission, |
321 Extension::kChromePrivatePermission, | 323 Extension::kChromePrivatePermission, |
322 Extension::kClipboardReadPermission, | 324 Extension::kClipboardReadPermission, |
323 Extension::kClipboardWritePermission, | 325 Extension::kClipboardWritePermission, |
324 Extension::kGeolocationPermission, | 326 Extension::kGeolocationPermission, |
325 Extension::kNotificationPermission, | 327 Extension::kNotificationPermission, |
326 Extension::kUnlimitedStoragePermission, | 328 Extension::kUnlimitedStoragePermission, |
327 Extension::kWebstorePrivatePermission, | 329 Extension::kWebstorePrivatePermission, |
328 }; | 330 }; |
329 const size_t Extension::kNumHostedAppPermissions = | 331 const size_t Extension::kNumHostedAppPermissions = |
330 arraysize(Extension::kHostedAppPermissionNames); | 332 arraysize(Extension::kHostedAppPermissionNames); |
331 | 333 |
332 const char* const Extension::kComponentPrivatePermissionNames[] = { | 334 const char* const Extension::kComponentPrivatePermissionNames[] = { |
333 Extension::kFileBrowserPrivatePermission, | 335 Extension::kFileBrowserPrivatePermission, |
334 Extension::kWebstorePrivatePermission, | 336 Extension::kWebstorePrivatePermission, |
| 337 Extension::kMediaPlayerPrivatePermission, |
335 Extension::kChromeosInfoPrivatePermission, | 338 Extension::kChromeosInfoPrivatePermission, |
336 }; | 339 }; |
337 const size_t Extension::kNumComponentPrivatePermissions = | 340 const size_t Extension::kNumComponentPrivatePermissions = |
338 arraysize(Extension::kComponentPrivatePermissionNames); | 341 arraysize(Extension::kComponentPrivatePermissionNames); |
339 | 342 |
340 // We purposefully don't put this into kPermissionNames. | 343 // We purposefully don't put this into kPermissionNames. |
341 const char Extension::kOldUnlimitedStoragePermission[] = "unlimited_storage"; | 344 const char Extension::kOldUnlimitedStoragePermission[] = "unlimited_storage"; |
342 | 345 |
343 const int Extension::kValidWebExtentSchemes = | 346 const int Extension::kValidWebExtentSchemes = |
344 URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS; | 347 URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS; |
(...skipping 2623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2968 | 2971 |
2969 UninstalledExtensionInfo::~UninstalledExtensionInfo() {} | 2972 UninstalledExtensionInfo::~UninstalledExtensionInfo() {} |
2970 | 2973 |
2971 | 2974 |
2972 UnloadedExtensionInfo::UnloadedExtensionInfo( | 2975 UnloadedExtensionInfo::UnloadedExtensionInfo( |
2973 const Extension* extension, | 2976 const Extension* extension, |
2974 Reason reason) | 2977 Reason reason) |
2975 : reason(reason), | 2978 : reason(reason), |
2976 already_disabled(false), | 2979 already_disabled(false), |
2977 extension(extension) {} | 2980 extension(extension) {} |
OLD | NEW |