| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_ |
| #define CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_ |
| |
| #include <string> |
| |
| #include "base/basictypes.h" |
| #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[]; |
| } // 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 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 Enterprise Web Store component application. |
| extern const char kEnterpriseWebStoreAppId[]; |
| |
| // 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 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 Sheets application. |
| extern const char kGoogleSheetsAppId[]; |
| |
| // 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 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 PDF extension. |
| extern const char kPdfExtensionId[]; |
| |
| // The extension id of the Office Viewer component extension. |
| extern const char kQuickOfficeComponentExtensionId[]; |
| |
| // The extension id of the Office Viewer dev extension. |
| extern const char kQuickOfficeDevExtensionId[]; |
| |
| // The extension id of the Office Viewer extension. |
| extern const char kQuickOfficeExtensionId[]; |
| |
| // The extension id of the settings application. |
| extern const char kSettingsAppId[]; |
| |
| // The extension id used for testing streamsPrivate |
| extern const char kStreamsPrivateTestExtensionId[]; |
| |
| // The extension id of the Web Store component application. |
| extern const char kWebStoreAppId[]; |
| |
| // The extension id of the Youtube application. |
| extern const char kYoutubeAppId[]; |
| |
| // The extension id of the Identity API UI application. |
| extern const char kIdentityApiUiAppId[]; |
| |
| // The extension id of the in-app payments support application. |
| extern const char kInAppPaymentsSupportAppId[]; |
| |
| // The extension id of the Tips & Tricks application. |
| extern const char kTipsAndTricksAppId[]; |
| |
| // 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 name of the app launch histogram. |
| extern const char kAppLaunchHistogram[]; |
| |
| // The name of the app launch histogram for platform apps. |
| extern const char kPlatformAppLaunchHistogram[]; |
| |
| // 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 collapsed. |
| APP_LAUNCH_NTP_APPS_COLLAPSED, |
| |
| // Launch from NTP apps section while in menu mode. |
| APP_LAUNCH_NTP_APPS_MENU, |
| |
| // Launch from NTP most visited section in any mode. |
| APP_LAUNCH_NTP_MOST_VISITED, |
| |
| // Launch from NTP recently closed section in any mode. |
| APP_LAUNCH_NTP_RECENTLY_CLOSED, |
| |
| // App link clicked from bookmark bar. |
| APP_LAUNCH_BOOKMARK_BAR, |
| |
| // Nvigated to an app from within a web page (like by clicking a link). |
| APP_LAUNCH_CONTENT_NAVIGATION, |
| |
| // Launch from session restore. |
| APP_LAUNCH_SESSION_RESTORE, |
| |
| // Autolaunched at startup, like for pinned tabs. |
| APP_LAUNCH_AUTOLAUNCH, |
| |
| // Launched from omnibox app links. |
| APP_LAUNCH_OMNIBOX_APP, |
| |
| // App URL typed directly into the omnibox (w/ instant turned off). |
| APP_LAUNCH_OMNIBOX_LOCATION, |
| |
| // Navigate to an app URL via instant. |
| APP_LAUNCH_OMNIBOX_INSTANT, |
| |
| // Launch via chrome.management.launchApp. |
| APP_LAUNCH_EXTENSION_API, |
| |
| // 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, |
| |
| // App launch by passing the URL on the cmd line (not using app switches). |
| APP_LAUNCH_CMD_LINE_URL, |
| |
| // User clicked web store launcher on NTP. |
| APP_LAUNCH_NTP_WEBSTORE, |
| |
| // App launched after the user re-enabled it on the NTP. |
| APP_LAUNCH_NTP_APP_RE_ENABLE, |
| |
| // 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 web store link on the NTP footer. |
| APP_LAUNCH_NTP_WEBSTORE_FOOTER, |
| |
| // User clicked [+] icon in apps page. |
| APP_LAUNCH_NTP_WEBSTORE_PLUS_ICON, |
| |
| // User clicked icon in app launcher main view. |
| APP_LAUNCH_APP_LIST_MAIN, |
| |
| // User clicked app launcher search result. |
| APP_LAUNCH_APP_LIST_SEARCH, |
| |
| // User clicked the chrome app icon from the app launcher's main view. |
| APP_LAUNCH_APP_LIST_MAIN_CHROME, |
| |
| // 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 search view. |
| APP_LAUNCH_APP_LIST_SEARCH_CHROME, |
| |
| // 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[]; |
| |
| #if defined(OS_CHROMEOS) |
| // Path to preinstalled ChromeVox screen reader extension. |
| 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[]; |
| #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; |
| |
| // List of sizes for extension icons that can be defined in the manifest. |
| extern const int kScriptBadgeIconSizes[]; |
| extern const size_t kNumScriptBadgeIconSizes; |
| } // 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_PINNED, |
| LAUNCH_TYPE_REGULAR, |
| LAUNCH_TYPE_FULLSCREEN, |
| LAUNCH_TYPE_WINDOW, |
| |
| // 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_ |