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