diff options
Diffstat (limited to 'chrome/common/extensions/permissions/chrome_api_permissions.cc')
-rw-r--r-- | chrome/common/extensions/permissions/chrome_api_permissions.cc | 182 |
1 files changed, 45 insertions, 137 deletions
diff --git a/chrome/common/extensions/permissions/chrome_api_permissions.cc b/chrome/common/extensions/permissions/chrome_api_permissions.cc index b172bf6..901d6fd 100644 --- a/chrome/common/extensions/permissions/chrome_api_permissions.cc +++ b/chrome/common/extensions/permissions/chrome_api_permissions.cc @@ -30,39 +30,24 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() // WARNING: If you are modifying a permission message in this list, be sure to // add the corresponding permission message rule to // ChromePermissionMessageProvider::GetCoalescedPermissionMessages as well. - // TODO(sashab): Remove all permission messages from this list, once - // GetCoalescedPermissionMessages() is the only way of generating permission - // messages. APIPermissionInfo::InitInfo permissions_to_register[] = { // Register permissions for all extension types. {APIPermission::kBackground, "background"}, {APIPermission::kDeclarativeContent, "declarativeContent"}, - {APIPermission::kDesktopCapture, "desktopCapture", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE, - PermissionMessage::kDesktopCapture}, + {APIPermission::kDesktopCapture, "desktopCapture"}, {APIPermission::kDesktopCapturePrivate, "desktopCapturePrivate"}, - {APIPermission::kDownloads, "downloads", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS, PermissionMessage::kDownloads}, - {APIPermission::kDownloadsOpen, "downloads.open", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN, - PermissionMessage::kDownloadsOpen}, + {APIPermission::kDownloads, "downloads"}, + {APIPermission::kDownloadsOpen, "downloads.open"}, {APIPermission::kDownloadsShelf, "downloads.shelf"}, {APIPermission::kEasyUnlockPrivate, "easyUnlockPrivate"}, {APIPermission::kIdentity, "identity"}, - {APIPermission::kIdentityEmail, "identity.email", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_IDENTITY_EMAIL, - PermissionMessage::kIdentityEmail}, + {APIPermission::kIdentityEmail, "identity.email"}, {APIPermission::kExperimental, "experimental", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kEmbeddedExtensionOptions, "embeddedExtensionOptions", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kGeolocation, "geolocation", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, - PermissionMessage::kGeolocation}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kNotifications, "notifications"}, {APIPermission::kGcdPrivate, "gcdPrivate"}, {APIPermission::kGcm, "gcm"}, @@ -70,30 +55,20 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() // Register extension permissions. {APIPermission::kAccessibilityFeaturesModify, - "accessibilityFeatures.modify", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_MODIFY, - PermissionMessage::kAccessibilityFeaturesModify}, - {APIPermission::kAccessibilityFeaturesRead, "accessibilityFeatures.read", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_ACCESSIBILITY_FEATURES_READ, - PermissionMessage::kAccessibilityFeaturesRead}, + "accessibilityFeatures.modify"}, + {APIPermission::kAccessibilityFeaturesRead, "accessibilityFeatures.read"}, {APIPermission::kAccessibilityPrivate, "accessibilityPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kActiveTab, "activeTab"}, {APIPermission::kAudioModem, "audioModem"}, - {APIPermission::kBookmark, "bookmarks", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_BOOKMARKS, PermissionMessage::kBookmarks}, + {APIPermission::kBookmark, "bookmarks"}, {APIPermission::kBrailleDisplayPrivate, "brailleDisplayPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kBrowsingData, "browsingData"}, - {APIPermission::kContentSettings, "contentSettings", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_CONTENT_SETTINGS, - PermissionMessage::kContentSettings}, + {APIPermission::kContentSettings, "contentSettings"}, {APIPermission::kContextMenus, "contextMenus"}, {APIPermission::kCookie, "cookies"}, - {APIPermission::kCopresence, "copresence", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_COPRESENCE, PermissionMessage::kCopresence}, + {APIPermission::kCopresence, "copresence"}, {APIPermission::kCopresencePrivate, "copresencePrivate"}, {APIPermission::kCryptotokenPrivate, "cryptotokenPrivate"}, {APIPermission::kDataReductionProxy, "dataReductionProxy", @@ -106,64 +81,34 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kFontSettings, "fontSettings", APIPermissionInfo::kFlagCannotBeOptional}, - {APIPermission::kHistory, "history", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE, - PermissionMessage::kBrowsingHistory}, + {APIPermission::kHistory, "history"}, {APIPermission::kIdltest, "idltest"}, - {APIPermission::kInput, "input", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_INPUT, PermissionMessage::kInput}, + {APIPermission::kInput, "input"}, {APIPermission::kLocation, "location", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION, - PermissionMessage::kGeolocation}, - {APIPermission::kManagement, "management", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT, PermissionMessage::kManagement}, - {APIPermission::kMDns, "mdns", APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_MDNS, PermissionMessage::kMDns}, - {APIPermission::kNativeMessaging, "nativeMessaging", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING, - PermissionMessage::kNativeMessaging}, - {APIPermission::kPlatformKeys, "platformKeys", - APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_PLATFORMKEYS, - PermissionMessage::kPlatformKeys}, - {APIPermission::kPrivacy, "privacy", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_PRIVACY, PermissionMessage::kPrivacy}, - {APIPermission::kProcesses, "processes", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, PermissionMessage::kTabs}, + APIPermissionInfo::kFlagCannotBeOptional}, + {APIPermission::kManagement, "management"}, + {APIPermission::kMDns, "mdns", APIPermissionInfo::kFlagCannotBeOptional}, + {APIPermission::kNativeMessaging, "nativeMessaging"}, + {APIPermission::kPlatformKeys, "platformKeys"}, + {APIPermission::kPrivacy, "privacy"}, + {APIPermission::kProcesses, "processes"}, {APIPermission::kSessions, "sessions"}, - {APIPermission::kSignedInDevices, "signedInDevices", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_SIGNED_IN_DEVICES, - PermissionMessage::kSignedInDevices}, - {APIPermission::kSyncFileSystem, "syncFileSystem", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_SYNCFILESYSTEM, - PermissionMessage::kSyncFileSystem}, - {APIPermission::kTab, "tabs", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, PermissionMessage::kTabs}, - {APIPermission::kTopSites, "topSites", APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_TOPSITES, PermissionMessage::kTopSites}, - {APIPermission::kTts, "tts", 0, APIPermissionInfo::kFlagCannotBeOptional}, + {APIPermission::kSignedInDevices, "signedInDevices"}, + {APIPermission::kSyncFileSystem, "syncFileSystem"}, + {APIPermission::kTab, "tabs"}, + {APIPermission::kTopSites, "topSites"}, + {APIPermission::kTts, "tts", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kTtsEngine, "ttsEngine", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, PermissionMessage::kTtsEngine}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kWallpaper, "wallpaper", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_WALLPAPER, PermissionMessage::kWallpaper}, - {APIPermission::kWebNavigation, "webNavigation", - APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ, - PermissionMessage::kTabs}, + APIPermissionInfo::kFlagCannotBeOptional}, + {APIPermission::kWebNavigation, "webNavigation"}, // Register private permissions. {APIPermission::kScreenlockPrivate, "screenlockPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_SCREENLOCK_PRIVATE, - PermissionMessage::kScreenlockPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kActivityLogPrivate, "activityLogPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_ACTIVITY_LOG_PRIVATE, - PermissionMessage::kActivityLogPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kAutoTestPrivate, "autotestPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kBookmarkManagerPrivate, "bookmarkManagerPrivate", @@ -180,9 +125,7 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() {APIPermission::kDial, "dial", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kDownloadsInternal, "downloadsInternal"}, {APIPermission::kExperienceSamplingPrivate, "experienceSamplingPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE, - PermissionMessage::kExperienceSamplingPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kFileBrowserHandlerInternal, "fileBrowserHandlerInternal", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kFileManagerPrivate, "fileManagerPrivate", @@ -201,9 +144,7 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() {APIPermission::kMetricsPrivate, "metricsPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kMusicManagerPrivate, "musicManagerPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_MUSIC_MANAGER_PRIVATE, - PermissionMessage::kMusicManagerPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kPreferencesPrivate, "preferencesPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kSystemPrivate, "systemPrivate", @@ -247,35 +188,24 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kInlineInstallPrivate, "inlineInstallPrivate"}, {APIPermission::kSettingsPrivate, "settingsPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_SETTINGS_PRIVATE, - PermissionMessage::kSettingsPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kSearchEnginesPrivate, "searchEnginesPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_SEARCH_ENGINES_PRIVATE, - PermissionMessage::kSearchEnginesPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kAutofillPrivate, "autofillPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_AUTOFILL_PRIVATE, - PermissionMessage::kAutofillPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kWebstoreWidgetPrivate, "webstoreWidgetPrivate", APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kPasswordsPrivate, "passwordsPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_PASSWORDS_PRIVATE, - PermissionMessage::kPasswordsPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kUsersPrivate, "usersPrivate", - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_USERS_PRIVATE, - PermissionMessage::kUsersPrivate}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kLanguageSettingsPrivate, "languageSettingsPrivate", APIPermissionInfo::kFlagCannotBeOptional}, // Full url access permissions. {APIPermission::kDebugger, "debugger", APIPermissionInfo::kFlagImpliesFullURLAccess | - APIPermissionInfo::kFlagCannotBeOptional, - IDS_EXTENSION_PROMPT_WARNING_DEBUGGER, PermissionMessage::kDebugger}, + APIPermissionInfo::kFlagCannotBeOptional}, {APIPermission::kDevtools, "devtools", APIPermissionInfo::kFlagImpliesFullURLAccess | APIPermissionInfo::kFlagCannotBeOptional | @@ -290,9 +220,7 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() APIPermissionInfo::kFlagImpliesFullURLAccess | APIPermissionInfo::kFlagImpliesFullAccess | APIPermissionInfo::kFlagCannotBeOptional | - APIPermissionInfo::kFlagInternal, - IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS, - PermissionMessage::kFullAccess}, + APIPermissionInfo::kFlagInternal}, {APIPermission::kProxy, "proxy", APIPermissionInfo::kFlagImpliesFullURLAccess | APIPermissionInfo::kFlagCannotBeOptional}, @@ -305,52 +233,32 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions() // chooser dialog and selected a file or directory. Selecting // the file or directory is considered consent to read it. {APIPermission::kFileSystem, "fileSystem"}, - {APIPermission::kFileSystemDirectory, "fileSystem.directory", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_DIRECTORY, - PermissionMessage::kFileSystemDirectory}, + {APIPermission::kFileSystemDirectory, "fileSystem.directory"}, {APIPermission::kFileSystemProvider, "fileSystemProvider"}, {APIPermission::kFileSystemRequestFileSystem, "fileSystem.requestFileSystem"}, {APIPermission::kFileSystemRetainEntries, "fileSystem.retainEntries"}, {APIPermission::kFileSystemWrite, "fileSystem.write"}, - {APIPermission::kFileSystemWriteDirectory, "fileSystem.writeDirectory", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY, - PermissionMessage::kFileSystemWriteDirectory}, - // Because warning messages for the "mediaGalleries" permission - // vary based on the permissions parameters, no message ID or - // message text is specified here. The message ID and text used - // will be determined at run-time in the - // |MediaGalleriesPermission| class. + {APIPermission::kFileSystemWriteDirectory, "fileSystem.writeDirectory"}, {APIPermission::kMediaGalleries, "mediaGalleries", - APIPermissionInfo::kFlagNone, 0, PermissionMessage::kNone, + APIPermissionInfo::kFlagNone, &CreateAPIPermission<MediaGalleriesPermission>}, {APIPermission::kPointerLock, "pointerLock"}, {APIPermission::kCastStreaming, "cast.streaming"}, {APIPermission::kBrowser, "browser"}, - {APIPermission::kInterceptAllKeys, "app.window.interceptAllKeys", - APIPermissionInfo::kFlagNone, - IDS_EXTENSION_PROMPT_WARNING_INTERCEPT_ALL_KEYS, - PermissionMessage::kInterceptAllKeys}, + {APIPermission::kInterceptAllKeys, "app.window.interceptAllKeys"}, {APIPermission::kLauncherSearchProvider, "launcherSearchProvider"}, // Settings override permissions. {APIPermission::kHomepage, "homepage", APIPermissionInfo::kFlagCannotBeOptional | - APIPermissionInfo::kFlagInternal, - IDS_EXTENSION_PROMPT_WARNING_HOME_PAGE_SETTING_OVERRIDE, - PermissionMessage::kHomepage}, + APIPermissionInfo::kFlagInternal}, {APIPermission::kSearchProvider, "searchProvider", APIPermissionInfo::kFlagCannotBeOptional | - APIPermissionInfo::kFlagInternal, - IDS_EXTENSION_PROMPT_WARNING_SEARCH_SETTINGS_OVERRIDE, - PermissionMessage::kSearchProvider}, + APIPermissionInfo::kFlagInternal}, {APIPermission::kStartupPages, "startupPages", APIPermissionInfo::kFlagCannotBeOptional | - APIPermissionInfo::kFlagInternal, - IDS_EXTENSION_PROMPT_WARNING_START_PAGE_SETTING_OVERRIDE, - PermissionMessage::kStartupPages}, + APIPermissionInfo::kFlagInternal}, }; std::vector<APIPermissionInfo*> permissions; |