1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_
10 #include "base/basictypes.h"
13 namespace extension_urls
{
15 // This returns the compile-time constant webstore update url specific to
16 // Chrome. Usually you should prefer using GetWebstoreUpdateUrl.
17 GURL
GetDefaultWebstoreUpdateUrl();
19 // Field to use with webstore URL for tracking launch source.
20 extern const char kWebstoreSourceField
[];
22 // Values to use with webstore URL launch source field.
23 extern const char kLaunchSourceAppList
[];
24 extern const char kLaunchSourceAppListSearch
[];
25 extern const char kLaunchSourceAppListInfoDialog
[];
27 } // namespace extension_urls
29 namespace extension_misc
{
31 // The extension id of the bookmark manager.
32 extern const char kBookmarkManagerId
[];
34 // The extension id of the Chrome component application.
35 extern const char kChromeAppId
[];
37 // The extension id of the Cloud Print component application.
38 extern const char kCloudPrintAppId
[];
40 // The extension id of the Easy Unlock component application.
41 extern const char kEasyUnlockAppId
[];
43 // The extension id of the Enterprise Web Store component application.
44 extern const char kEnterpriseWebStoreAppId
[];
46 // The extension id of GMail application.
47 extern const char kGmailAppId
[];
49 // The extension id of the Google Doc application.
50 extern const char kGoogleDocAppId
[];
52 // The extension id of the Google Play Music application.
53 extern const char kGooglePlayMusicAppId
[];
55 // The extension id of the Google Search application.
56 extern const char kGoogleSearchAppId
[];
58 // The extension id of the Google Sheets application.
59 extern const char kGoogleSheetsAppId
[];
61 // The extension id of the Google Slides application.
62 extern const char kGoogleSlidesAppId
[];
64 // The extension id of the HTerm app for ChromeOS.
65 extern const char kHTermAppId
[];
67 // The extension id of the HTerm dev app for ChromeOS.
68 extern const char kHTermDevAppId
[];
70 // The extension id of the Identity API UI application.
71 extern const char kIdentityApiUiAppId
[];
73 // The extension id of the Crosh component app for ChromeOS.
74 extern const char kCroshBuiltinAppId
[];
76 // The extension id of the hotword audio verification dialogue app.
77 extern const char kHotwordAudioVerificationAppId
[];
79 // The extension id of the hotword voice search trigger extension.
80 extern const char kHotwordExtensionId
[];
82 // The extension id of the hotword shared module.
83 extern const char kHotwordSharedModuleId
[];
85 // The extension id of the PDF extension.
86 extern const char kPdfExtensionId
[];
88 // The extension id of the Office Viewer component extension.
89 extern const char kQuickOfficeComponentExtensionId
[];
91 // The extension id of the Office Viewer extension on the internal webstore.
92 extern const char kQuickOfficeInternalExtensionId
[];
94 // The extension id of the Office Viewer extension.
95 extern const char kQuickOfficeExtensionId
[];
97 // The extension id of the settings application.
98 extern const char kSettingsAppId
[];
100 // The extension id used for testing streamsPrivate
101 extern const char kStreamsPrivateTestExtensionId
[];
103 // The extension id of the Youtube application.
104 extern const char kYoutubeAppId
[];
106 // The extension id of the in-app payments support application.
107 extern const char kInAppPaymentsSupportAppId
[];
109 // The name of the app launch histogram.
110 extern const char kAppLaunchHistogram
[];
112 // The name of the app launch histogram for platform apps.
113 extern const char kPlatformAppLaunchHistogram
[];
115 // The buckets used for app launches.
116 enum AppLaunchBucket
{
117 // Launch from NTP apps section while maximized.
118 APP_LAUNCH_NTP_APPS_MAXIMIZED
,
120 // Launch from NTP apps section while collapsed.
121 APP_LAUNCH_NTP_APPS_COLLAPSED
,
123 // Launch from NTP apps section while in menu mode.
124 APP_LAUNCH_NTP_APPS_MENU
,
126 // Launch from NTP most visited section in any mode.
127 APP_LAUNCH_NTP_MOST_VISITED
,
129 // Launch from NTP recently closed section in any mode.
130 APP_LAUNCH_NTP_RECENTLY_CLOSED
,
132 // App link clicked from bookmark bar.
133 APP_LAUNCH_BOOKMARK_BAR
,
135 // Nvigated to an app from within a web page (like by clicking a link).
136 APP_LAUNCH_CONTENT_NAVIGATION
,
138 // Launch from session restore.
139 APP_LAUNCH_SESSION_RESTORE
,
141 // Autolaunched at startup, like for pinned tabs.
142 APP_LAUNCH_AUTOLAUNCH
,
144 // Launched from omnibox app links.
145 APP_LAUNCH_OMNIBOX_APP
,
147 // App URL typed directly into the omnibox (w/ instant turned off).
148 APP_LAUNCH_OMNIBOX_LOCATION
,
150 // Navigate to an app URL via instant.
151 APP_LAUNCH_OMNIBOX_INSTANT
,
153 // Launch via chrome.management.launchApp.
154 APP_LAUNCH_EXTENSION_API
,
156 // Launch an app via a shortcut. This includes using the --app or --app-id
157 // command line arguments, or via an app shim process on Mac.
158 APP_LAUNCH_CMD_LINE_APP
,
160 // App launch by passing the URL on the cmd line (not using app switches).
161 APP_LAUNCH_CMD_LINE_URL
,
163 // User clicked web store launcher on NTP.
164 APP_LAUNCH_NTP_WEBSTORE
,
166 // App launched after the user re-enabled it on the NTP.
167 APP_LAUNCH_NTP_APP_RE_ENABLE
,
169 // URL launched using the --app cmd line option, but the URL does not
170 // correspond to an installed app. These launches are left over from a
171 // feature that let you make desktop shortcuts from the file menu.
172 APP_LAUNCH_CMD_LINE_APP_LEGACY
,
174 // User clicked web store link on the NTP footer.
175 APP_LAUNCH_NTP_WEBSTORE_FOOTER
,
177 // User clicked [+] icon in apps page.
178 APP_LAUNCH_NTP_WEBSTORE_PLUS_ICON
,
180 // User clicked icon in app launcher main view.
181 APP_LAUNCH_APP_LIST_MAIN
,
183 // User clicked app launcher search result.
184 APP_LAUNCH_APP_LIST_SEARCH
,
186 // User clicked the chrome app icon from the app launcher's main view.
187 APP_LAUNCH_APP_LIST_MAIN_CHROME
,
189 // User clicked the webstore icon from the app launcher's main view.
190 APP_LAUNCH_APP_LIST_MAIN_WEBSTORE
,
192 // User clicked the chrome app icon from the app launcher's search view.
193 APP_LAUNCH_APP_LIST_SEARCH_CHROME
,
195 // User clicked the webstore icon from the app launcher's search view.
196 APP_LAUNCH_APP_LIST_SEARCH_WEBSTORE
,
197 APP_LAUNCH_BUCKET_BOUNDARY
,
198 APP_LAUNCH_BUCKET_INVALID
201 // The extension id of the ChromeVox extension.
202 extern const char kChromeVoxExtensionId
[];
204 #if defined(OS_CHROMEOS)
205 // Path to preinstalled ChromeVox screen reader extension (relative to
206 // |chrome::DIR_RESOURCES|).
207 extern const char kChromeVoxExtensionPath
[];
208 // Name of ChromeVox manifest file.
209 extern const char kChromeVoxManifestFilename
[];
210 // Name of ChromeVox guest manifest file.
211 extern const char kChromeVoxGuestManifestFilename
[];
212 // Name of ChromeVox next manifest file.
213 extern const char kChromeVoxNextManifestFilename
[];
214 // Name of ChromeVox next guest manifest file.
215 extern const char kChromeVoxNextGuestManifestFilename
[];
216 // Extension id, path (relative to |chrome::DIR_RESOURCES|) and IME engine
217 // id for the builtin-in Braille IME extension.
218 extern const char kBrailleImeExtensionId
[];
219 extern const char kBrailleImeExtensionPath
[];
220 extern const char kBrailleImeEngineId
[];
221 // Path to preinstalled Connectivity Diagnostics extension.
222 extern const char kConnectivityDiagnosticsPath
[];
223 extern const char kConnectivityDiagnosticsKioskPath
[];
224 extern const char kConnectivityDiagnosticsLauncherPath
[];
225 // Path to preinstalled speech synthesis extension.
226 extern const char kSpeechSynthesisExtensionPath
[];
227 // The extension id of the speech synthesis extension.
228 extern const char kSpeechSynthesisExtensionId
[];
229 // The extension id of the wallpaper manager application.
230 extern const char kWallpaperManagerId
[];
231 // The extension id of the first run dialog application.
232 extern const char kFirstRunDialogId
[];
235 // What causes an extension to be installed? Used in histograms, so don't
236 // change existing values.
237 enum CrxInstallCause
{
238 INSTALL_CAUSE_UNSET
= 0,
239 INSTALL_CAUSE_USER_DOWNLOAD
,
240 INSTALL_CAUSE_UPDATE
,
241 INSTALL_CAUSE_EXTERNAL_FILE
,
242 INSTALL_CAUSE_AUTOMATION
,
246 // The states that an app can be in, as reported by chrome.app.installState
247 // and chrome.app.runningState.
248 extern const char kAppStateNotInstalled
[];
249 extern const char kAppStateInstalled
[];
250 extern const char kAppStateDisabled
[];
251 extern const char kAppStateRunning
[];
252 extern const char kAppStateCannotRun
[];
253 extern const char kAppStateReadyToRun
[];
255 // The path part of the file system url used for media file systems.
256 extern const char kMediaFileSystemPathPart
[];
258 // The key used for signing some pieces of data from the webstore.
259 extern const uint8 kWebstoreSignaturesPublicKey
[];
260 extern const int kWebstoreSignaturesPublicKeySize
;
262 } // namespace extension_misc
264 namespace extensions
{
266 // This enum is used for the launch type the user wants to use for an
268 // Do not remove items or re-order this enum as it is used in preferences
271 LAUNCH_TYPE_INVALID
= -1,
272 LAUNCH_TYPE_FIRST
= 0,
273 LAUNCH_TYPE_PINNED
= LAUNCH_TYPE_FIRST
,
274 LAUNCH_TYPE_REGULAR
= 1,
275 LAUNCH_TYPE_FULLSCREEN
= 2,
276 LAUNCH_TYPE_WINDOW
= 3,
279 // Launch an app in the in the way a click on the NTP would,
280 // if no user pref were set. Update this constant to change
281 // the default for the NTP and chrome.management.launchApp().
282 LAUNCH_TYPE_DEFAULT
= LAUNCH_TYPE_REGULAR
285 // Don't remove items or change the order of this enum. It's used in
286 // histograms and preferences.
287 enum LaunchContainer
{
288 LAUNCH_CONTAINER_WINDOW
,
289 LAUNCH_CONTAINER_PANEL
,
290 LAUNCH_CONTAINER_TAB
,
291 // For platform apps, which don't actually have a container (they just get a
292 // "onLaunched" event).
293 LAUNCH_CONTAINER_NONE
296 } // namespace extensions
298 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_CONSTANTS_H_