Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / permissions / chrome_api_permissions.cc
index 900d461..b9602f2 100644 (file)
@@ -4,13 +4,13 @@
 
 #include "chrome/common/extensions/permissions/chrome_api_permissions.h"
 
+#include "chrome/grit/generated_resources.h"
 #include "extensions/common/permissions/api_permission.h"
 #include "extensions/common/permissions/api_permission_set.h"
 #include "extensions/common/permissions/media_galleries_permission.h"
 #include "extensions/common/permissions/permission_message.h"
 #include "extensions/common/permissions/permissions_info.h"
-#include "grit/extensions_strings.h"
-#include "grit/generated_resources.h"
+#include "extensions/strings/grit/extensions_strings.h"
 
 namespace extensions {
 
@@ -33,6 +33,8 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
     const {
   APIPermissionInfo::InitInfo permissions_to_register[] = {
       // Register permissions for all extension types.
+      {APIPermission::kAppView, "appview",
+       APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kBackground, "background"},
       {APIPermission::kClipboardRead, "clipboardRead",
        APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_CLIPBOARD,
@@ -54,6 +56,7 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        IDS_EXTENSION_PROMPT_WARNING_DOWNLOADS_OPEN,
        PermissionMessage::kDownloadsOpen},
       {APIPermission::kDownloadsShelf, "downloads.shelf"},
+      {APIPermission::kEasyUnlockPrivate, "easyUnlockPrivate"},
       {APIPermission::kIdentity, "identity"},
       {APIPermission::kIdentityEmail, "identity.email",
        APIPermissionInfo::kFlagNone,
@@ -61,6 +64,8 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        PermissionMessage::kIdentityEmail},
       {APIPermission::kExperimental, "experimental",
        APIPermissionInfo::kFlagCannotBeOptional},
+      {APIPermission::kEmbeddedExtensionOptions, "embeddedExtensionOptions",
+       APIPermissionInfo::kFlagCannotBeOptional},
       // NOTE(kalman): this is provided by a manifest property but needs to
       // appear in the install permission dialogue, so we need a fake
       // permission for it. See http://crbug.com/247857.
@@ -73,11 +78,12 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        APIPermissionInfo::kFlagCannotBeOptional,
        IDS_EXTENSION_PROMPT_WARNING_GEOLOCATION,
        PermissionMessage::kGeolocation},
-      {APIPermission::kNotification, "notifications"},
+      {APIPermission::kNotifications, "notifications"},
       {APIPermission::kUnlimitedStorage, "unlimitedStorage",
        APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kGcdPrivate, "gcdPrivate"},
       {APIPermission::kGcm, "gcm"},
+      {APIPermission::kNotificationProvider, "notificationProvider"},
 
       // Register extension permissions.
       {APIPermission::kAccessibilityFeaturesModify,
@@ -103,6 +109,9 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        PermissionMessage::kContentSettings},
       {APIPermission::kContextMenus, "contextMenus"},
       {APIPermission::kCookie, "cookies"},
+      {APIPermission::kCopresence, "copresence",
+       IDS_EXTENSION_PROMPT_WARNING_COPRESENCE, PermissionMessage::kCopresence},
+      {APIPermission::kCopresencePrivate, "copresencePrivate"},
       {APIPermission::kEnterprisePlatformKeys, "enterprise.platformKeys"},
       {APIPermission::kFileBrowserHandler, "fileBrowserHandler",
        APIPermissionInfo::kFlagCannotBeOptional},
@@ -127,7 +136,6 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        APIPermissionInfo::kFlagNone,
        IDS_EXTENSION_PROMPT_WARNING_NATIVE_MESSAGING,
        PermissionMessage::kNativeMessaging},
-      {APIPermission::kPower, "power"},
       {APIPermission::kPrivacy, "privacy", APIPermissionInfo::kFlagNone,
        IDS_EXTENSION_PROMPT_WARNING_PRIVACY, PermissionMessage::kPrivacy},
       {APIPermission::kProcesses, "processes", APIPermissionInfo::kFlagNone,
@@ -184,6 +192,10 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kDial, "dial", APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kDownloadsInternal, "downloadsInternal"},
+      {APIPermission::kExperienceSamplingPrivate, "experienceSamplingPrivate",
+       APIPermissionInfo::kFlagCannotBeOptional,
+       IDS_EXTENSION_PROMPT_WARNING_EXPERIENCE_SAMPLING_PRIVATE,
+       PermissionMessage::kExperienceSamplingPrivate},
       {APIPermission::kFileBrowserHandlerInternal, "fileBrowserHandlerInternal",
        APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kFileBrowserPrivate, "fileBrowserPrivate",
@@ -192,7 +204,8 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kIdentityPrivate, "identityPrivate",
        APIPermissionInfo::kFlagCannotBeOptional},
-      {APIPermission::kLogPrivate, "logPrivate"},
+      {APIPermission::kLogPrivate, "logPrivate",
+       APIPermissionInfo::kFlagCannotBeOptional},
       {APIPermission::kWebcamPrivate, "webcamPrivate"},
       {APIPermission::kNetworkingPrivate, "networkingPrivate",
        APIPermissionInfo::kFlagCannotBeOptional,
@@ -282,8 +295,6 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
            APIPermissionInfo::kFlagCannotBeOptional},
 
       // Platform-app permissions.
-      {APIPermission::kSerial, "serial", APIPermissionInfo::kFlagNone,
-       IDS_EXTENSION_PROMPT_WARNING_SERIAL, PermissionMessage::kSerial},
       {APIPermission::kAlwaysOnTopWindows, "app.window.alwaysOnTop"},
       {APIPermission::kAudioCapture, "audioCapture",
        APIPermissionInfo::kFlagNone, IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE,
@@ -308,8 +319,6 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
        APIPermissionInfo::kFlagNone,
        IDS_EXTENSION_PROMPT_WARNING_FILE_SYSTEM_WRITE_DIRECTORY,
        PermissionMessage::kFileSystemWriteDirectory},
-      {APIPermission::kHid, "hid", APIPermissionInfo::kFlagNone,
-       IDS_EXTENSION_PROMPT_WARNING_HID, PermissionMessage::kHid},
       // 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
@@ -332,6 +341,7 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
       {APIPermission::kOverrideEscFullscreen,
        "app.window.fullscreen.overrideEsc"},
       {APIPermission::kWindowShape, "app.window.shape"},
+      {APIPermission::kAlphaEnabled, "app.window.alpha"},
       {APIPermission::kBrowser, "browser"},
 
       // Settings override permissions.