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.
4
5// Contains constants for known URLs and portions thereof.
6
7#ifndef CHROME_COMMON_URL_CONSTANTS_H_
8#define CHROME_COMMON_URL_CONSTANTS_H_
9
10#include <string>
11#include <vector>
12
13#include "build/build_config.h"
14#include "content/public/common/url_constants.h"
15
16namespace chrome {
17
18// chrome: URLs (including schemes). Should be kept in sync with the
19// components below.
20extern const char kChromeUIAboutURL[];
21extern const char kChromeUIAppsURL[];
22extern const char kChromeUIAppListStartPageURL[];
23extern const char kChromeUIBookmarksURL[];
24extern const char kChromeUICertificateViewerURL[];
25extern const char kChromeUICertificateViewerDialogURL[];
26extern const char kChromeUIChromeSigninURL[];
27extern const char kChromeUIChromeURLsURL[];
28extern const char kChromeUICloudPrintResourcesURL[];
29extern const char kChromeUIComponentsURL[];
30extern const char kChromeUIConflictsURL[];
31extern const char kChromeUIConstrainedHTMLTestURL[];
32extern const char kChromeUICrashesURL[];
33extern const char kChromeUICreditsURL[];
34extern const char kChromeUIDevicesURL[];
35extern const char kChromeUIDevToolsURL[];
36extern const char kChromeUIDownloadsURL[];
37extern const char kChromeUIEditSearchEngineDialogURL[];
38extern const char kChromeUIExtensionIconURL[];
39extern const char kChromeUIExtensionInfoURL[];
40extern const char kChromeUIExtensionsFrameURL[];
41extern const char kChromeUIExtensionsURL[];
42extern const char kChromeUIFaviconURL[];
43extern const char kChromeUIFeedbackURL[];
44extern const char kChromeUIFlagsURL[];
45extern const char kChromeUIFlashURL[];
46extern const char kChromeUIGCMInternalsURL[];
47extern const char kChromeUIHelpFrameURL[];
48extern const char kChromeUIHistoryURL[];
49extern const char kChromeUIHistoryFrameURL[];
50extern const char kChromeUIIdentityInternalsURL[];
51extern const char kChromeUIInspectURL[];
52extern const char kChromeUIInstantURL[];
53extern const char kChromeUIInvalidationsURL[];
54extern const char kChromeUIIPCURL[];
55extern const char kChromeUIManagedUserPassphrasePageURL[];
56extern const char kChromeUIMemoryRedirectURL[];
57extern const char kChromeUIMemoryURL[];
58extern const char kChromeUIMetroFlowURL[];
59extern const char kChromeUINaClURL[];
60extern const char kChromeUINetInternalsURL[];
61extern const char kChromeUINewProfile[];
62extern const char kChromeUINewTabURL[];
63extern const char kChromeUIOmniboxURL[];
64extern const char kChromeUIPasswordManagerInternalsHost[];
65extern const char kChromeUIPerformanceMonitorURL[];
66extern const char kChromeUIPluginsURL[];
67extern const char kChromeUIPolicyURL[];
68extern const char kChromeUIProfileSigninConfirmationURL[];
69extern const char kChromeUIUserManagerURL[];
70extern const char kChromeUIPrintURL[];
71extern const char kChromeUIQuitURL[];
72extern const char kChromeUIRestartURL[];
73extern const char kChromeUISessionFaviconURL[];
74extern const char kChromeUISettingsURL[];
75extern const char kChromeUISettingsFrameURL[];
76extern const char kChromeUISuggestions[];
77extern const char kChromeUISuggestionsInternalsURL[];
78extern const char kChromeUISSLClientCertificateSelectorURL[];
79extern const char kChromeUITermsURL[];
80extern const char kChromeUIThemeURL[];
81extern const char kChromeUIThumbnailURL[];
82extern const char kChromeUIThumbnailListURL[];
83extern const char kChromeUIUberURL[];
84extern const char kChromeUIUberFrameURL[];
85extern const char kChromeUIUserActionsURL[];
86extern const char kChromeUIVersionURL[];
87
88#if defined(OS_ANDROID)
89extern const char kChromeUINativeNewTabURL[];
90extern const char kChromeUINativeBookmarksURL[];
91extern const char kChromeUINativeRecentTabsURL[];
92extern const char kChromeUIWelcomeURL[];
93#endif
94
95#if defined(OS_CHROMEOS)
96extern const char kChromeUIActivationMessage[];
97extern const char kChromeUIBluetoothPairingURL[];
98extern const char kChromeUICertificateManagerDialogURL[];
99extern const char kChromeUIChargerReplacementURL[];
100extern const char kChromeUIChooseMobileNetworkURL[];
101extern const char kChromeUIDiagnosticsURL[];
102extern const char kChromeUIDiscardsURL[];
103extern const char kChromeUIFirstRunURL[];
104extern const char kChromeUIIdleLogoutDialogURL[];
105extern const char kChromeUIImageBurnerURL[];
106extern const char kChromeUIKeyboardOverlayURL[];
107extern const char kChromeUILockScreenURL[];
108extern const char kChromeUIMediaplayerURL[];
109extern const char kChromeUIMobileSetupURL[];
110extern const char kChromeUINfcDebugURL[];
111extern const char kChromeUIOobeURL[];
112extern const char kChromeUIOSCreditsURL[];
113extern const char kChromeUIProxySettingsURL[];
114extern const char kChromeUIScreenlockIconURL[];
115extern const char kChromeUISetTimeURL[];
116extern const char kChromeUISimUnlockURL[];
117extern const char kChromeUISlideshowURL[];
118extern const char kChromeUISlowURL[];
119extern const char kChromeUISystemInfoURL[];
120extern const char kChromeUITermsOemURL[];
121extern const char kChromeUIUserImageURL[];
122#endif
123
124#if defined(USE_AURA)
125extern const char kChromeUIGestureConfigURL[];
126extern const char kChromeUIGestureConfigHost[];
127extern const char kChromeUISalsaURL[];
128extern const char kChromeUISalsaHost[];
129#endif
130
131#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
132extern const char kChromeUITabModalConfirmDialogURL[];
133#endif
134
135#if defined(ENABLE_WEBRTC)
136extern const char kChromeUIWebRtcLogsURL[];
137#endif
138
139// chrome components of URLs. Should be kept in sync with the full URLs above.
140extern const char kChromeUIAboutHost[];
141extern const char kChromeUIAboutPageFrameHost[];
142extern const char kChromeUIBlankHost[];
143extern const char kChromeUIAppLauncherPageHost[];
144extern const char kChromeUIAppListStartPageHost[];
145extern const char kChromeUIBookmarksHost[];
146extern const char kChromeUICacheHost[];
147extern const char kChromeUICertificateViewerHost[];
148extern const char kChromeUICertificateViewerDialogHost[];
149extern const char kChromeUIChromeSigninHost[];
150extern const char kChromeUIChromeURLsHost[];
151extern const char kChromeUICloudPrintResourcesHost[];
152extern const char kChromeUICloudPrintSetupHost[];
153extern const char kChromeUIConflictsHost[];
154extern const char kChromeUIConstrainedHTMLTestHost[];
155extern const char kChromeUICrashesHost[];
156extern const char kChromeUICrashHost[];
157extern const char kChromeUICreditsHost[];
158extern const char kChromeUIDefaultHost[];
159extern const char kChromeUIDevicesHost[];
160extern const char kChromeUIDevToolsHost[];
161extern const char kChromeUIDevToolsBundledPath[];
162extern const char kChromeUIDevToolsRemotePath[];
163extern const char kChromeUIDNSHost[];
164extern const char kChromeUIDownloadsHost[];
165extern const char kChromeUIDriveInternalsHost[];
166extern const char kChromeUIEditSearchEngineDialogHost[];
167extern const char kChromeUIExtensionIconHost[];
168extern const char kChromeUIExtensionInfoHost[];
169extern const char kChromeUIExtensionsFrameHost[];
170extern const char kChromeUIExtensionsHost[];
171extern const char kChromeUIFaviconHost[];
172extern const char kChromeUIFeedbackHost[];
173extern const char kChromeUIFlagsHost[];
174extern const char kChromeUIFlashHost[];
175extern const char kChromeUIGCMInternalsHost[];
176extern const char kChromeUIHelpFrameHost[];
177extern const char kChromeUIHelpHost[];
178extern const char kChromeUIHangHost[];
179extern const char kChromeUIHistoryHost[];
180extern const char kChromeUIHistoryFrameHost[];
181extern const char kChromeUIIdentityInternalsHost[];
182extern const char kChromeUIInspectHost[];
183extern const char kChromeUIInstantHost[];
184extern const char kChromeUIInvalidationsHost[];
185extern const char kChromeUIIPCHost[];
186extern const char kChromeUIKillHost[];
187extern const char kChromeUIManagedUserPassphrasePageHost[];
188extern const char kChromeUIMemoryHost[];
189extern const char kChromeUIMemoryInternalsHost[];
190extern const char kChromeUIMemoryRedirectHost[];
191extern const char kChromeUIMetroFlowHost[];
192extern const char kChromeUINaClHost[];
193extern const char kChromeUINetExportHost[];
194extern const char kChromeUINetInternalsHost[];
195extern const char kChromeUINewTabHost[];
196extern const char kChromeUIOmniboxHost[];
197extern const char kChromeUIPerformanceMonitorHost[];
198extern const char kChromeUIPluginsHost[];
199extern const char kChromeUIComponentsHost[];
200extern const char kChromeUIPolicyHost[];
201extern const char kChromeUIProfileSigninConfirmationHost[];
202extern const char kChromeUIProvidedFileSystemsHost[];
203extern const char kChromeUIUserManagerHost[];
204extern const char kChromeUIPredictorsHost[];
205extern const char kChromeUIPrintHost[];
206extern const char kChromeUIProfilerHost[];
207extern const char kChromeUIQuotaInternalsHost[];
208extern const char kChromeUIQuitHost[];
209extern const char kChromeUIRestartHost[];
210extern const char kChromeUISessionFaviconHost[];
211extern const char kChromeUISettingsHost[];
212extern const char kChromeUISettingsFrameHost[];
213extern const char kChromeUIShorthangHost[];
214extern const char kChromeUISignInInternalsHost[];
215extern const char kChromeUISuggestionsHost[];
216extern const char kChromeUISuggestionsInternalsHost[];
217extern const char kChromeUISSLClientCertificateSelectorHost[];
218extern const char kChromeUIStatsHost[];
219extern const char kChromeUISyncHost[];
220extern const char kChromeUISyncFileSystemInternalsHost[];
221extern const char kChromeUISyncInternalsHost[];
222extern const char kChromeUISyncResourcesHost[];
223extern const char kChromeUISystemInfoHost[];
224extern const char kChromeUITaskManagerHost[];
225extern const char kChromeUITermsHost[];
226extern const char kChromeUIThemeHost[];
227extern const char kChromeUIThumbnailHost[];
228extern const char kChromeUIThumbnailHost2[];
229extern const char kChromeUIThumbnailListHost[];
230extern const char kChromeUITouchIconHost[];
231extern const char kChromeUITranslateInternalsHost[];
232extern const char kChromeUIUberFrameHost[];
233extern const char kChromeUIUberHost[];
234extern const char kChromeUIUserActionsHost[];
235extern const char kChromeUIVersionHost[];
236extern const char kChromeUIWorkersHost[];
237
238extern const char kChromeUIScreenshotPath[];
239extern const char kChromeUIThemePath[];
240
241#if defined(OS_ANDROID)
242extern const char kChromeUIWelcomeHost[];
243#endif
244
245#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
246extern const char kChromeUILinuxProxyConfigHost[];
247extern const char kChromeUISandboxHost[];
248#endif
249
250#if defined(OS_CHROMEOS)
251extern const char kChromeUIActivationMessageHost[];
252extern const char kChromeUIAppLaunchHost[];
253extern const char kChromeUIBluetoothPairingHost[];
254extern const char kChromeUICertificateManagerHost[];
255extern const char kChromeUIChargerReplacementHost[];
256extern const char kChromeUIChooseMobileNetworkHost[];
257extern const char kChromeUICryptohomeHost[];
258extern const char kChromeUIDiagnosticsHost[];
259extern const char kChromeUIDiscardsHost[];
260extern const char kChromeUIFirstRunHost[];
261extern const char kChromeUIIdleLogoutDialogHost[];
262extern const char kChromeUIImageBurnerHost[];
263extern const char kChromeUIKeyboardOverlayHost[];
264extern const char kChromeUILockScreenHost[];
265extern const char kChromeUILoginContainerHost[];
266extern const char kChromeUILoginHost[];
267extern const char kChromeUIMediaplayerHost[];
268extern const char kChromeUIMobileSetupHost[];
269extern const char kChromeUINetworkHost[];
270extern const char kChromeUINfcDebugHost[];
271extern const char kChromeUIOobeHost[];
272extern const char kChromeUIOSCreditsHost[];
273extern const char kChromeUIPowerHost[];
274extern const char kChromeUIProxySettingsHost[];
275extern const char kChromeUIRotateHost[];
276extern const char kChromeUIScreenlockIconHost[];
277extern const char kChromeUISetTimeHost[];
278extern const char kChromeUISimUnlockHost[];
279extern const char kChromeUISlideshowHost[];
280extern const char kChromeUISlowHost[];
281extern const char kChromeUISlowTraceHost[];
282extern const char kChromeUIUserImageHost[];
283
284extern const char kChromeUIMenu[];
285extern const char kChromeUINetworkMenu[];
286extern const char kChromeUIWrenchMenu[];
287
288extern const char kEULAPathFormat[];
289extern const char kOemEulaURLPath[];
290extern const char kOnlineEulaURLPath[];
291#endif
292
293#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
294extern const char kChromeUITabModalConfirmDialogHost[];
295#endif
296
297#if defined(ENABLE_WEBRTC)
298extern const char kChromeUIWebRtcLogsHost[];
299#endif
300
301// Options sub-pages.
302extern const char kAutofillSubPage[];
303extern const char kClearBrowserDataSubPage[];
304extern const char kContentSettingsExceptionsSubPage[];
305extern const char kContentSettingsSubPage[];
306extern const char kCreateProfileSubPage[];
307extern const char kExtensionsSubPage[];
308extern const char kHandlerSettingsSubPage[];
309extern const char kImportDataSubPage[];
310extern const char kLanguageOptionsSubPage[];
311extern const char kSupervisedUserSettingsSubPage[];
312extern const char kManageProfileSubPage[];
313extern const char kPasswordManagerSubPage[];
314extern const char kResetProfileSettingsSubPage[];
315extern const char kSearchEnginesSubPage[];
316extern const char kSearchSubPage[];
317extern const char kSearchUsersSubPage[];
318extern const char kSyncSetupSubPage[];
319#if defined(OS_CHROMEOS)
320extern const char kInternetOptionsSubPage[];
321extern const char kBluetoothAddDeviceSubPage[];
322extern const char kChangeProfilePictureSubPage[];
323#endif
324
325// Extensions sub pages.
326extern const char kExtensionConfigureCommandsSubPage[];
327
328// URLs used to indicate that an extension resource load request
329// was invalid.
330extern const char kExtensionInvalidRequestURL[];
331extern const char kExtensionResourceInvalidRequestURL[];
332
333extern const char kSyncGoogleDashboardURL[];
334
335// "Learn more" URL for the auto password generation.
336extern const char kAutoPasswordGenerationLearnMoreURL[];
337
338extern const char kPasswordManagerLearnMoreURL[];
339
340// "Learn more" URL for the Settings API, NTP bubble and other settings bubbles
341// showing which extension is controlling them.
342extern const char kExtensionControlledSettingLearnMoreURL[];
343
344// General help links for Chrome, opened using various actions.
345extern const char kChromeHelpViaKeyboardURL[];
346extern const char kChromeHelpViaMenuURL[];
347extern const char kChromeHelpViaWebUIURL[];
348
349#if defined(OS_CHROMEOS)
350// Accessibility help link for Chrome.
351extern const char kChromeAccessibilityHelpURL[];
352// Accessibility settings link for Chrome.
353extern const char kChromeAccessibilitySettingsURL[];
354#endif
355
356#if defined (ENABLE_ONE_CLICK_SIGNIN)
357// "Learn more" URL for the one click signin infobar.
358extern const char kChromeSyncLearnMoreURL[];
359
360// "Learn more" URL for the "Sign in with a different account" confirmation
361// dialog.
362extern const char kChromeSyncMergeTroubleshootingURL[];
363#endif
364
365// "Learn more" URL for the enterprise sign-in confirmation dialog.
366extern const char kChromeEnterpriseSignInLearnMoreURL[];
367
368// "Learn more" URL for resetting profile preferences.
369extern const char kResetProfileSettingsLearnMoreURL[];
370
371// "Learn more" URL for when profile settings are automatically reset.
372extern const char kAutomaticSettingsResetLearnMoreURL[];
373
374// Management URL for the supervised users.
375extern const char kSupervisedUserManagementURL[];
376
377// Management URL for the supervised users - version without scheme, used
378// for display.
379extern const char kSupervisedUserManagementDisplayURL[];
380
381// Help URL for the settings page's search feature.
382extern const char kSettingsSearchHelpURL[];
383
384// Help URL for the Omnibox setting.
385extern const char kOmniboxLearnMoreURL[];
386
387// "What do these mean?" URL for the Page Info bubble.
388extern const char kPageInfoHelpCenterURL[];
389
390// "Learn more" URL for "Aw snap" page.
391extern const char kCrashReasonURL[];
392
393// "Learn more" URL for killed tab page.
394extern const char kKillReasonURL[];
395
396// "Learn more" URL for the Privacy section under Options.
397extern const char kPrivacyLearnMoreURL[];
398
399// "Learn more" URL for the "Do not track" setting in the privacy section.
400extern const char kDoNotTrackLearnMoreURL[];
401
402#if defined(OS_CHROMEOS)
403// These URLs are currently ChromeOS only.
404
405// "Learn more" URL for the attestation of content protection setting.
406extern const char kAttestationForContentProtectionLearnMoreURL[];
407
408// "Learn more" URL for the enhanced playback notification dialog.
409extern const char kEnhancedPlaybackNotificationLearnMoreURL[];
410#endif
411
412// The URL for the Chromium project used in the About dialog.
413extern const char kChromiumProjectURL[];
414
415// The URL for the "Learn more" page for the usage/crash reporting option in the
416// first run dialog.
417extern const char kLearnMoreReportingURL[];
418
419// The URL for the "Learn more" page for the outdated plugin infobar.
420extern const char kOutdatedPluginLearnMoreURL[];
421
422// The URL for the "Learn more" page for the blocked plugin infobar.
423extern const char kBlockedPluginLearnMoreURL[];
424
425// The URL for the "Learn more" page for hotword search voice trigger.
426extern const char kHotwordLearnMoreURL[];
427
428// The URL for the "Learn more" page for register protocol handler infobars.
429extern const char kLearnMoreRegisterProtocolHandlerURL[];
430
431// The URL for the "Learn more" page for sync setup on the personal stuff page.
432extern const char kSyncLearnMoreURL[];
433
434// The URL for the "Learn more" page for download scanning.
435extern const char kDownloadScanningLearnMoreURL[];
436
437// The URL for the "Learn more" page for interrupted downloads.
438extern const char kDownloadInterruptedLearnMoreURL[];
439
440// The URL for the "Learn more" page on the sync setup dialog, when syncing
441// everything.
442extern const char kSyncEverythingLearnMoreURL[];
443
444// The URL for information on how to use the app launcher.
445extern const char kAppLauncherHelpURL[];
446
447// The URL for the "Learn more" page on sync encryption.
448extern const char kSyncEncryptionHelpURL[];
449
450// The URL for the "Learn more" link when there is a sync error.
451extern const char kSyncErrorsHelpURL[];
452
453#if defined(OS_CHROMEOS)
454// The URL for the "Learn more" link for natural scrolling on ChromeOS.
455extern const char kNaturalScrollHelpURL[];
456
457// The URL for the Learn More page about enterprise enrolled devices.
458extern const char kLearnMoreEnterpriseURL[];
459#endif
460
461// The URL for the Learn More link of the non-CWS bubble.
462extern const char kRemoveNonCWSExtensionURL[];
463
464// The URL for the Learn More link for the corrupt extension message.
465extern const char kCorruptExtensionURL[];
466
467extern const char kNotificationsHelpURL[];
468
469// The Welcome Notification More Info URL.
470extern const char kNotificationWelcomeLearnMoreURL[];
471
472// Gets the hosts/domains that are shown in chrome://chrome-urls.
473extern const char* const kChromeHostURLs[];
474extern const size_t kNumberOfChromeHostURLs;
475
476// "Debug" pages which are dangerous and not for general consumption.
477extern const char* const kChromeDebugURLs[];
478extern const int kNumberOfChromeDebugURLs;
479
480// The chrome-native: scheme is used show pages rendered with platform specific
481// widgets instead of using HTML.
482extern const char kChromeNativeScheme[];
483
484// The chrome-search: scheme is served by the same backend as chrome:.  However,
485// only specific URLDataSources are enabled to serve requests via the
486// chrome-search: scheme.  See |InstantIOContext::ShouldServiceRequest| and its
487// callers for details.  Note that WebUIBindings should never be granted to
488// chrome-search: pages.  chrome-search: pages are displayable but not readable
489// by external search providers (that are rendered by Instant renderer
490// processes), and neither displayable nor readable by normal (non-Instant) web
491// pages.  To summarize, a non-Instant process, when trying to access
492// 'chrome-search://something', will bump up against the following:
493//
494//  1. Renderer: The display-isolated check in WebKit will deny the request,
495//  2. Browser: Assuming they got by #1, the scheme checks in
496//     URLDataSource::ShouldServiceRequest will deny the request,
497//  3. Browser: for specific sub-classes of URLDataSource, like ThemeSource
498//     there are additional Instant-PID checks that make sure the request is
499//     coming from a blessed Instant process, and deny the request.
500extern const char kChromeSearchScheme[];
501
502// Pages under chrome-search.
503extern const char kChromeSearchLocalNtpHost[];
504extern const char kChromeSearchLocalNtpUrl[];
505extern const char kChromeSearchRemoteNtpHost[];
506
507// Host and URL for most visited iframes used on the Instant Extended NTP.
508extern const char kChromeSearchMostVisitedHost[];
509extern const char kChromeSearchMostVisitedUrl[];
510
511#if defined(OS_CHROMEOS)
512extern const char kCrosScheme[];
513extern const char kDriveScheme[];
514#endif
515
516// Scheme for the DOM Distiller component.
517extern const char kDomDistillerScheme[];
518
519// "Learn more" URL for the Cloud Print section under Options.
520extern const char kCloudPrintLearnMoreURL[];
521
522// "Learn more" URL for the Cloud Print Preview No Destinations Promotion.
523extern const char kCloudPrintNoDestinationsLearnMoreURL[];
524
525// Parameters that get appended to force SafeSearch.
526extern const char kSafeSearchSafeParameter[];
527extern const char kSafeSearchSsuiParameter[];
528
529// The URL for the "Learn more" link in the media access infobar.
530extern const char kMediaAccessLearnMoreUrl[];
531
532// The URL for the "Learn more" link in the language settings.
533extern const char kLanguageSettingsLearnMoreUrl[];
534
535#if defined(OS_MACOSX)
536// The URL for the 32-bit Mac deprecation help center article
537extern const char kMac32BitDeprecationURL[];
538#endif
539
540// The URL for the "Learn more" link the the Easy Unlock settings.
541extern const char kEasyUnlockLearnMoreUrl[];
542
543// The URL to the device management page in the Easy Unlock settings.
544extern const char kEasyUnlockManagementUrl[];
545
546}  // namespace chrome
547
548#endif  // CHROME_COMMON_URL_CONSTANTS_H_
549