Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / extension_constants.h
index 7a9925b..dda78ac 100644 (file)
 #include "url/gurl.h"
 
 namespace extension_urls {
-  // Returns the URL prefix for the extension/apps gallery. Can be set via the
-  // --apps-gallery-url switch. The URL returned will not contain a trailing
-  // slash. Do not use this as a prefix/extent for the store.
-  std::string GetWebstoreLaunchURL();
-
-  // Returns the URL to the extensions category on the Web Store. This is
-  // derived from GetWebstoreLaunchURL().
-  std::string GetExtensionGalleryURL();
-
-  // Returns the URL prefix for an item in the extension/app gallery. This URL
-  // will contain a trailing slash and should be concatenated with an item ID
-  // to get the item detail URL.
-  std::string GetWebstoreItemDetailURLPrefix();
-
-  // Returns the URL used to get webstore data (ratings, manifest, icon URL,
-  // etc.) about an extension from the webstore as JSON.
-  GURL GetWebstoreItemJsonDataURL(const std::string& extension_id);
-
-  // Returns the URL used to get webstore search results in JSON format. The URL
-  // returns a JSON dictionary that has the search results (under "results").
-  // Each entry in the array is a dictionary as the data returned for
-  // GetWebstoreItemJsonDataURL above. |query| is the user typed query string.
-  // |hl| is the host language code, e.g. en_US. Both arguments will be escaped
-  // and added as a query parameter to the returned web store json search URL.
-  GURL GetWebstoreJsonSearchUrl(const std::string& query,
-                                const std::string& hl);
-
-  // Returns the URL of the web store search results page for |query|.
-  GURL GetWebstoreSearchPageUrl(const std::string& query);
-
-  // Return the update URL used by gallery/webstore extensions/apps.
-  GURL GetWebstoreUpdateUrl();
-
-  // Returns whether the URL is the webstore update URL (just considering host
-  // and path, not scheme, query, etc.)
-  bool IsWebstoreUpdateUrl(const GURL& update_url);
-
-  // Returns true if the URL points to an extension blacklist.
-  bool IsBlacklistUpdateUrl(const GURL& url);
-
-  // The greatest common prefixes of the main extensions gallery's browse and
-  // download URLs.
-  extern const char kGalleryBrowsePrefix[];
-
-  // Field to use with webstore URL for tracking launch source.
-  extern const char kWebstoreSourceField[];
-
-  // Values to use with webstore URL launch source field.
-  extern const char kLaunchSourceAppList[];
-  extern const char kLaunchSourceAppListSearch[];
-  extern const char kLaunchSourceAppListInfoDialog[];
+
+// This returns the compile-time constant webstore update url specific to
+// Chrome. Usually you should prefer using GetWebstoreUpdateUrl.
+GURL GetDefaultWebstoreUpdateUrl();
+
+// Field to use with webstore URL for tracking launch source.
+extern const char kWebstoreSourceField[];
+
+// Values to use with webstore URL launch source field.
+extern const char kLaunchSourceAppList[];
+extern const char kLaunchSourceAppListSearch[];
+extern const char kLaunchSourceAppListInfoDialog[];
+
 }  // namespace extension_urls
 
 namespace extension_misc {
-  // Matches chrome.windows.WINDOW_ID_NONE.
-  const int kUnknownWindowId = -1;
 
-  // Matches chrome.windows.WINDOW_ID_CURRENT.
-  const int kCurrentWindowId = -2;
+// The extension id of the bookmark manager.
+extern const char kBookmarkManagerId[];
 
-  // The extension id of the bookmark manager.
-  extern const char kBookmarkManagerId[];
+// The extension id of the Chrome component application.
+extern const char kChromeAppId[];
 
-  // The extension id of the Chrome component application.
-  extern const char kChromeAppId[];
+// The extension id of the Cloud Print component application.
+extern const char kCloudPrintAppId[];
 
-  // The extension id of the Cloud Print component application.
-  extern const char kCloudPrintAppId[];
+// The extension id of the Easy Unlock component application.
+extern const char kEasyUnlockAppId[];
 
-  // The extension id of the Enterprise Web Store component application.
-  extern const char kEnterpriseWebStoreAppId[];
+// The extension id of the Enterprise Web Store component application.
+extern const char kEnterpriseWebStoreAppId[];
 
-  // The extension id of GMail application.
-  extern const char kGmailAppId[];
+// The extension id of GMail application.
+extern const char kGmailAppId[];
 
-  // The extension id of the Google Doc application.
-  extern const char kGoogleDocAppId[];
+// The extension id of the Google Doc application.
+extern const char kGoogleDocAppId[];
 
-  // The extension id of the Google Play Music application.
-  extern const char kGooglePlayMusicAppId[];
+// The extension id of the Google Play Music application.
+extern const char kGooglePlayMusicAppId[];
 
-  // The extension id of the Google Search application.
-  extern const char kGoogleSearchAppId[];
+// The extension id of the Google Search application.
+extern const char kGoogleSearchAppId[];
 
-  // The extension id of the Google Sheets application.
-  extern const char kGoogleSheetsAppId[];
+// The extension id of the Google Sheets application.
+extern const char kGoogleSheetsAppId[];
 
-  // The extension id of the Google Slides application.
-  extern const char kGoogleSlidesAppId[];
+// The extension id of the Google Slides application.
+extern const char kGoogleSlidesAppId[];
 
-  // The extension id of the HTerm app for ChromeOS.
-  extern const char kHTermAppId[];
+// The extension id of the HTerm app for ChromeOS.
+extern const char kHTermAppId[];
 
-  // The extension id of the HTerm dev app for ChromeOS.
-  extern const char kHTermDevAppId[];
+// The extension id of the HTerm dev app for ChromeOS.
+extern const char kHTermDevAppId[];
 
-  // The extension id of the Crosh component app for ChromeOS.
-  extern const char kCroshBuiltinAppId[];
+// The extension id of the Identity API UI application.
+extern const char kIdentityApiUiAppId[];
 
-  // The extension id of the hotword voice search trigger extension.
-  extern const char kHotwordExtensionId[];
+// The extension id of the Crosh component app for ChromeOS.
+extern const char kCroshBuiltinAppId[];
 
-  // The extension id of the PDF extension.
-  extern const char kPdfExtensionId[];
+// The extension id of the hotword audio verification dialogue app.
+extern const char kHotwordAudioVerificationAppId[];
 
-  // The extension id of the Office Viewer component extension.
-  extern const char kQuickOfficeComponentExtensionId[];
+// The extension id of the hotword voice search trigger extension.
+extern const char kHotwordExtensionId[];
 
-  // The extension id of the Office Viewer extension on the internal webstore.
-  extern const char kQuickOfficeInternalExtensionId[];
+// The extension id of the new (experimental) hotword extension.
+extern const char kHotwordNewExtensionId[];
 
-  // The extension id of the Office Viewer extension.
-  extern const char kQuickOfficeExtensionId[];
+// The extension id of the hotword shared module.
+extern const char kHotwordSharedModuleId[];
 
-  // The extension id of the settings application.
-  extern const char kSettingsAppId[];
+// The extension id of the PDF extension.
+extern const char kPdfExtensionId[];
 
-  // The extension id used for testing streamsPrivate
-  extern const char kStreamsPrivateTestExtensionId[];
+// The extension id of the Office Viewer component extension.
+extern const char kQuickOfficeComponentExtensionId[];
 
-  // The extension id of the Web Store component application.
-  extern const char kWebStoreAppId[];
+// The extension id of the Office Viewer extension on the internal webstore.
+extern const char kQuickOfficeInternalExtensionId[];
 
-  // The extension id of the Youtube application.
-  extern const char kYoutubeAppId[];
+// The extension id of the Office Viewer extension.
+extern const char kQuickOfficeExtensionId[];
 
-  // The extension id of the Identity API UI application.
-  extern const char kIdentityApiUiAppId[];
+// The extension id of the settings application.
+extern const char kSettingsAppId[];
 
-  // The extension id of the in-app payments support application.
-  extern const char kInAppPaymentsSupportAppId[];
+// The extension id used for testing streamsPrivate
+extern const char kStreamsPrivateTestExtensionId[];
 
-  // Note: this structure is an ASN.1 which encodes the algorithm used
-  // with its parameters. This is defined in PKCS #1 v2.1 (RFC 3447).
-  // It is encoding: { OID sha1WithRSAEncryption      PARAMETERS NULL }
-  const uint8 kSignatureAlgorithm[15] = {
-    0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
-    0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00
-  };
+// The extension id of the Youtube application.
+extern const char kYoutubeAppId[];
 
-  // The name of the app launch histogram.
-  extern const char kAppLaunchHistogram[];
+// The extension id of the in-app payments support application.
+extern const char kInAppPaymentsSupportAppId[];
 
-  // The name of the app launch histogram for platform apps.
-  extern const char kPlatformAppLaunchHistogram[];
+// The name of the app launch histogram.
+extern const char kAppLaunchHistogram[];
 
-  // The buckets used for app launches.
-  enum AppLaunchBucket {
-    // Launch from NTP apps section while maximized.
-    APP_LAUNCH_NTP_APPS_MAXIMIZED,
+// The name of the app launch histogram for platform apps.
+extern const char kPlatformAppLaunchHistogram[];
 
-    // Launch from NTP apps section while collapsed.
-    APP_LAUNCH_NTP_APPS_COLLAPSED,
+// The buckets used for app launches.
+enum AppLaunchBucket {
+  // Launch from NTP apps section while maximized.
+  APP_LAUNCH_NTP_APPS_MAXIMIZED,
 
-    // Launch from NTP apps section while in menu mode.
-    APP_LAUNCH_NTP_APPS_MENU,
+  // Launch from NTP apps section while collapsed.
+  APP_LAUNCH_NTP_APPS_COLLAPSED,
 
-    // Launch from NTP most visited section in any mode.
-    APP_LAUNCH_NTP_MOST_VISITED,
+  // Launch from NTP apps section while in menu mode.
+  APP_LAUNCH_NTP_APPS_MENU,
 
-    // Launch from NTP recently closed section in any mode.
-    APP_LAUNCH_NTP_RECENTLY_CLOSED,
+  // Launch from NTP most visited section in any mode.
+  APP_LAUNCH_NTP_MOST_VISITED,
 
-    // App link clicked from bookmark bar.
-    APP_LAUNCH_BOOKMARK_BAR,
+  // Launch from NTP recently closed section in any mode.
+  APP_LAUNCH_NTP_RECENTLY_CLOSED,
 
-    // Nvigated to an app from within a web page (like by clicking a link).
-    APP_LAUNCH_CONTENT_NAVIGATION,
+  // App link clicked from bookmark bar.
+  APP_LAUNCH_BOOKMARK_BAR,
 
-    // Launch from session restore.
-    APP_LAUNCH_SESSION_RESTORE,
+  // Nvigated to an app from within a web page (like by clicking a link).
+  APP_LAUNCH_CONTENT_NAVIGATION,
 
-    // Autolaunched at startup, like for pinned tabs.
-    APP_LAUNCH_AUTOLAUNCH,
+  // Launch from session restore.
+  APP_LAUNCH_SESSION_RESTORE,
 
-    // Launched from omnibox app links.
-    APP_LAUNCH_OMNIBOX_APP,
+  // Autolaunched at startup, like for pinned tabs.
+  APP_LAUNCH_AUTOLAUNCH,
 
-    // App URL typed directly into the omnibox (w/ instant turned off).
-    APP_LAUNCH_OMNIBOX_LOCATION,
+  // Launched from omnibox app links.
+  APP_LAUNCH_OMNIBOX_APP,
 
-    // Navigate to an app URL via instant.
-    APP_LAUNCH_OMNIBOX_INSTANT,
+  // App URL typed directly into the omnibox (w/ instant turned off).
+  APP_LAUNCH_OMNIBOX_LOCATION,
 
-    // Launch via chrome.management.launchApp.
-    APP_LAUNCH_EXTENSION_API,
+  // Navigate to an app URL via instant.
+  APP_LAUNCH_OMNIBOX_INSTANT,
 
-    // Launch an app via a shortcut. This includes using the --app or --app-id
-    // command line arguments, or via an app shim process on Mac.
-    APP_LAUNCH_CMD_LINE_APP,
+  // Launch via chrome.management.launchApp.
+  APP_LAUNCH_EXTENSION_API,
 
-    // App launch by passing the URL on the cmd line (not using app switches).
-    APP_LAUNCH_CMD_LINE_URL,
+  // Launch an app via a shortcut. This includes using the --app or --app-id
+  // command line arguments, or via an app shim process on Mac.
+  APP_LAUNCH_CMD_LINE_APP,
 
-    // User clicked web store launcher on NTP.
-    APP_LAUNCH_NTP_WEBSTORE,
+  // App launch by passing the URL on the cmd line (not using app switches).
+  APP_LAUNCH_CMD_LINE_URL,
 
-    // App launched after the user re-enabled it on the NTP.
-    APP_LAUNCH_NTP_APP_RE_ENABLE,
+  // User clicked web store launcher on NTP.
+  APP_LAUNCH_NTP_WEBSTORE,
 
-    // URL launched using the --app cmd line option, but the URL does not
-    // correspond to an installed app. These launches are left over from a
-    // feature that let you make desktop shortcuts from the file menu.
-    APP_LAUNCH_CMD_LINE_APP_LEGACY,
+  // App launched after the user re-enabled it on the NTP.
+  APP_LAUNCH_NTP_APP_RE_ENABLE,
 
-    // User clicked web store link on the NTP footer.
-    APP_LAUNCH_NTP_WEBSTORE_FOOTER,
+  // URL launched using the --app cmd line option, but the URL does not
+  // correspond to an installed app. These launches are left over from a
+  // feature that let you make desktop shortcuts from the file menu.
+  APP_LAUNCH_CMD_LINE_APP_LEGACY,
 
-    // User clicked [+] icon in apps page.
-    APP_LAUNCH_NTP_WEBSTORE_PLUS_ICON,
+  // User clicked web store link on the NTP footer.
+  APP_LAUNCH_NTP_WEBSTORE_FOOTER,
 
-    // User clicked icon in app launcher main view.
-    APP_LAUNCH_APP_LIST_MAIN,
+  // User clicked [+] icon in apps page.
+  APP_LAUNCH_NTP_WEBSTORE_PLUS_ICON,
 
-    // User clicked app launcher search result.
-    APP_LAUNCH_APP_LIST_SEARCH,
+  // User clicked icon in app launcher main view.
+  APP_LAUNCH_APP_LIST_MAIN,
 
-    // User clicked the chrome app icon from the app launcher's main view.
-    APP_LAUNCH_APP_LIST_MAIN_CHROME,
+  // User clicked app launcher search result.
+  APP_LAUNCH_APP_LIST_SEARCH,
 
-    // User clicked the webstore icon from the app launcher's main view.
-    APP_LAUNCH_APP_LIST_MAIN_WEBSTORE,
+  // User clicked the chrome app icon from the app launcher's main view.
+  APP_LAUNCH_APP_LIST_MAIN_CHROME,
 
-    // User clicked the chrome app icon from the app launcher's search view.
-    APP_LAUNCH_APP_LIST_SEARCH_CHROME,
+  // User clicked the webstore icon from the app launcher's main view.
+  APP_LAUNCH_APP_LIST_MAIN_WEBSTORE,
 
-    // User clicked the webstore icon from the app launcher's search view.
-    APP_LAUNCH_APP_LIST_SEARCH_WEBSTORE,
+  // User clicked the chrome app icon from the app launcher's search view.
+  APP_LAUNCH_APP_LIST_SEARCH_CHROME,
 
-    APP_LAUNCH_BUCKET_BOUNDARY,
-    APP_LAUNCH_BUCKET_INVALID
-  };
+  // User clicked the webstore icon from the app launcher's search view.
+  APP_LAUNCH_APP_LIST_SEARCH_WEBSTORE,
+  APP_LAUNCH_BUCKET_BOUNDARY,
+  APP_LAUNCH_BUCKET_INVALID
+};
 
-  // The extension id of the ChromeVox extension.
-  extern const char kChromeVoxExtensionId[];
+// The extension id of the ChromeVox extension.
+extern const char kChromeVoxExtensionId[];
 
 #if defined(OS_CHROMEOS)
-  // Path to preinstalled ChromeVox screen reader extension (relative to
-  // |chrome::DIR_RESOURCES|).
-  extern const char kChromeVoxExtensionPath[];
-  // Path to preinstalled Connectivity Diagnostics extension.
-  extern const char kConnectivityDiagnosticsPath[];
-  extern const char kConnectivityDiagnosticsLauncherPath[];
-  // Path to preinstalled speech synthesis extension.
-  extern const char kSpeechSynthesisExtensionPath[];
-  // The extension id of the speech synthesis extension.
-  extern const char kSpeechSynthesisExtensionId[];
-  // The extension id of the wallpaper manager application.
-  extern const char kWallpaperManagerId[];
-  // The extension id of the first run dialog application.
-  extern const char kFirstRunDialogId[];
+// Path to preinstalled ChromeVox screen reader extension (relative to
+// |chrome::DIR_RESOURCES|).
+extern const char kChromeVoxExtensionPath[];
+// Name of ChromeVox manifest file.
+extern const char kChromeVoxManifestFilename[];
+// Name of ChromeVox guest manifest file.
+extern const char kChromeVoxGuestManifestFilename[];
+// Name of ChromeVox next manifest file.
+extern const char kChromeVoxNextManifestFilename[];
+// Name of ChromeVox next guest manifest file.
+extern const char kChromeVoxNextGuestManifestFilename[];
+// Extension id, path (relative to |chrome::DIR_RESOURCES|) and IME engine
+// id for the builtin-in Braille IME extension.
+extern const char kBrailleImeExtensionId[];
+extern const char kBrailleImeExtensionPath[];
+extern const char kBrailleImeEngineId[];
+// Path to preinstalled Connectivity Diagnostics extension.
+extern const char kConnectivityDiagnosticsPath[];
+extern const char kConnectivityDiagnosticsKioskPath[];
+extern const char kConnectivityDiagnosticsLauncherPath[];
+// Path to preinstalled speech synthesis extension.
+extern const char kSpeechSynthesisExtensionPath[];
+// The extension id of the speech synthesis extension.
+extern const char kSpeechSynthesisExtensionId[];
+// The extension id of the wallpaper manager application.
+extern const char kWallpaperManagerId[];
+// The extension id of the first run dialog application.
+extern const char kFirstRunDialogId[];
+// The extension id of the new ZIP unpacker extension.
+extern const char kZIPUnpackerExtensionId[];
 #endif
 
-  // What causes an extension to be installed? Used in histograms, so don't
-  // change existing values.
-  enum CrxInstallCause {
-    INSTALL_CAUSE_UNSET = 0,
-    INSTALL_CAUSE_USER_DOWNLOAD,
-    INSTALL_CAUSE_UPDATE,
-    INSTALL_CAUSE_EXTERNAL_FILE,
-    INSTALL_CAUSE_AUTOMATION,
-    NUM_INSTALL_CAUSES
-  };
-
-  // The states that an app can be in, as reported by chrome.app.installState
-  // and chrome.app.runningState.
-  extern const char kAppStateNotInstalled[];
-  extern const char kAppStateInstalled[];
-  extern const char kAppStateDisabled[];
-  extern const char kAppStateRunning[];
-  extern const char kAppStateCannotRun[];
-  extern const char kAppStateReadyToRun[];
-
-  // The path part of the file system url used for media file systems.
-  extern const char kMediaFileSystemPathPart[];
-
-  // NOTE: If you change this list, you should also change kExtensionIconSizes
-  // in cc file.
-  enum ExtensionIcons {
-    EXTENSION_ICON_GIGANTOR = 512,
-    EXTENSION_ICON_EXTRA_LARGE = 256,
-    EXTENSION_ICON_LARGE = 128,
-    EXTENSION_ICON_MEDIUM = 48,
-    EXTENSION_ICON_SMALL = 32,
-    EXTENSION_ICON_SMALLISH = 24,
-    EXTENSION_ICON_ACTION = 19,
-    EXTENSION_ICON_BITTY = 16,
-    EXTENSION_ICON_INVALID = 0,
-  };
-
-  // List of sizes for extension icons that can be defined in the manifest.
-  extern const int kExtensionIconSizes[];
-  extern const size_t kNumExtensionIconSizes;
-
-  // List of sizes for extension icons that can be defined in the manifest.
-  extern const int kExtensionActionIconSizes[];
-  extern const size_t kNumExtensionActionIconSizes;
+// What causes an extension to be installed? Used in histograms, so don't
+// change existing values.
+enum CrxInstallCause {
+  INSTALL_CAUSE_UNSET = 0,
+  INSTALL_CAUSE_USER_DOWNLOAD,
+  INSTALL_CAUSE_UPDATE,
+  INSTALL_CAUSE_EXTERNAL_FILE,
+  INSTALL_CAUSE_AUTOMATION,
+  NUM_INSTALL_CAUSES
+};
+
+// The states that an app can be in, as reported by chrome.app.installState
+// and chrome.app.runningState.
+extern const char kAppStateNotInstalled[];
+extern const char kAppStateInstalled[];
+extern const char kAppStateDisabled[];
+extern const char kAppStateRunning[];
+extern const char kAppStateCannotRun[];
+extern const char kAppStateReadyToRun[];
+
+// The path part of the file system url used for media file systems.
+extern const char kMediaFileSystemPathPart[];
+
+// The key used for signing some pieces of data from the webstore.
+extern const uint8 kWebstoreSignaturesPublicKey[];
+extern const int kWebstoreSignaturesPublicKeySize;
 
 }  // namespace extension_misc
 
-namespace extensions {
-  // This enum is used for the launch type the user wants to use for an
-  // application.
-  // Do not remove items or re-order this enum as it is used in preferences
-  // and histograms.
-  enum LaunchType {
-    LAUNCH_TYPE_INVALID = -1,
-    LAUNCH_TYPE_FIRST = 0,
-    LAUNCH_TYPE_PINNED = LAUNCH_TYPE_FIRST,
-    LAUNCH_TYPE_REGULAR = 1,
-    LAUNCH_TYPE_FULLSCREEN = 2,
-    LAUNCH_TYPE_WINDOW = 3,
-    NUM_LAUNCH_TYPES,
-
-    // Launch an app in the in the way a click on the NTP would,
-    // if no user pref were set.  Update this constant to change
-    // the default for the NTP and chrome.management.launchApp().
-    LAUNCH_TYPE_DEFAULT = LAUNCH_TYPE_REGULAR
-  };
-
-  // Don't remove items or change the order of this enum.  It's used in
-  // histograms and preferences.
-  enum LaunchContainer {
-    LAUNCH_CONTAINER_WINDOW,
-    LAUNCH_CONTAINER_PANEL,
-    LAUNCH_CONTAINER_TAB,
-    // For platform apps, which don't actually have a container (they just get a
-    // "onLaunched" event).
-    LAUNCH_CONTAINER_NONE
-  };
-}  // namespace extensions
-
 #endif  // CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_