• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "chrome/common/url_constants.h"
6 
7 #include <algorithm>
8 
9 #include "base/basictypes.h"
10 #include "content/public/common/url_constants.h"
11 #include "url/url_util.h"
12 
13 namespace chrome {
14 
15 #if defined(OS_CHROMEOS)
16 const char kCrosScheme[] = "cros";
17 const char kDriveScheme[] = "drive";
18 #endif
19 
20 // Add Chrome UI URLs as necessary, in alphabetical order.
21 // Be sure to add the corresponding kChromeUI*Host constant below.
22 // This is a WebUI page that lists other WebUI pages.
23 const char kChromeUIAboutURL[] = "chrome://about/";
24 const char kChromeUIAppsURL[] = "chrome://apps/";
25 const char kChromeUIAppListStartPageURL[] = "chrome://app-list/";
26 const char kChromeUIBookmarksURL[] = "chrome://bookmarks/";
27 const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
28 const char kChromeUICertificateViewerDialogURL[] = "chrome://view-cert-dialog/";
29 const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
30 const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
31 const char kChromeUICloudPrintResourcesURL[] = "chrome://cloudprintresources/";
32 const char kChromeUIComponentsURL[] = "chrome://components/";
33 const char kChromeUIConflictsURL[] = "chrome://conflicts/";
34 const char kChromeUIConstrainedHTMLTestURL[] = "chrome://constrained-test/";
35 const char kChromeUICrashesURL[] = "chrome://crashes/";
36 const char kChromeUICreditsURL[] = "chrome://credits/";
37 const char kChromeUIDevicesURL[] = "chrome://devices/";
38 const char kChromeUIDevToolsURL[] =
39     "chrome-devtools://devtools/bundled/devtools.html";
40 const char kChromeUIDownloadsURL[] = "chrome://downloads/";
41 const char kChromeUIEditSearchEngineDialogURL[] = "chrome://editsearchengine/";
42 const char kChromeUIExtensionIconURL[] = "chrome://extension-icon/";
43 const char kChromeUIExtensionInfoURL[] = "chrome://extension-info/";
44 const char kChromeUIExtensionsFrameURL[] = "chrome://extensions-frame/";
45 const char kChromeUIExtensionsURL[] = "chrome://extensions/";
46 const char kChromeUIFaviconURL[] = "chrome://favicon/";
47 const char kChromeUIFeedbackURL[] = "chrome://feedback/";
48 const char kChromeUIFlagsURL[] = "chrome://flags/";
49 const char kChromeUIFlashURL[] = "chrome://flash/";
50 const char kChromeUIGCMInternalsURL[] = "chrome://gcm-internals/";
51 const char kChromeUIHelpFrameURL[] = "chrome://help-frame/";
52 const char kChromeUIHistoryURL[] = "chrome://history/";
53 const char kChromeUIHistoryFrameURL[] = "chrome://history-frame/";
54 const char kChromeUIIdentityInternalsURL[] = "chrome://identity-internals/";
55 const char kChromeUIInspectURL[] = "chrome://inspect/";
56 const char kChromeUIInstantURL[] = "chrome://instant/";
57 const char kChromeUIInvalidationsURL[] = "chrome://invalidations/";
58 const char kChromeUIIPCURL[] = "chrome://ipc/";
59 const char kChromeUIManagedUserPassphrasePageURL[] =
60     "chrome://managed-user-passphrase/";
61 const char kChromeUIMemoryRedirectURL[] = "chrome://memory-redirect/";
62 const char kChromeUIMemoryURL[] = "chrome://memory/";
63 const char kChromeUIMetroFlowURL[] = "chrome://make-metro/";
64 const char kChromeUINaClURL[] = "chrome://nacl/";
65 const char kChromeUINetInternalsURL[] = "chrome://net-internals/";
66 const char kChromeUINewProfile[] = "chrome://newprofile/";
67 const char kChromeUINewTabURL[] = "chrome://newtab/";
68 const char kChromeUIOmniboxURL[] = "chrome://omnibox/";
69 const char kChromeUIPerformanceMonitorURL[] = "chrome://performance/";
70 const char kChromeUIPluginsURL[] = "chrome://plugins/";
71 const char kChromeUIPolicyURL[] = "chrome://policy/";
72 const char kChromeUIProfileSigninConfirmationURL[] =
73     "chrome://profile-signin-confirmation/";
74 const char kChromeUIUserManagerURL[] = "chrome://user-manager/";
75 const char kChromeUIPrintURL[] = "chrome://print/";
76 const char kChromeUIQuitURL[] = "chrome://quit/";
77 const char kChromeUIRestartURL[] = "chrome://restart/";
78 const char kChromeUISettingsURL[] = "chrome://settings/";
79 const char kChromeUISettingsFrameURL[] = "chrome://settings-frame/";
80 const char kChromeUISuggestions[] = "chrome://suggestions/";
81 const char kChromeUISuggestionsInternalsURL[] =
82     "chrome://suggestions-internals/";
83 const char kChromeUISSLClientCertificateSelectorURL[] = "chrome://select-cert/";
84 const char kChromeUITermsURL[] = "chrome://terms/";
85 const char kChromeUIThemeURL[] = "chrome://theme/";
86 const char kChromeUIThumbnailURL[] = "chrome://thumb/";
87 const char kChromeUIThumbnailListURL[] = "chrome://thumbnails/";
88 const char kChromeUIUberURL[] = "chrome://chrome/";
89 const char kChromeUIUberFrameURL[] = "chrome://uber-frame/";
90 const char kChromeUIUserActionsURL[] = "chrome://user-actions/";
91 const char kChromeUIVersionURL[] = "chrome://version/";
92 
93 #if defined(OS_ANDROID)
94 const char kChromeUINativeNewTabURL[] = "chrome-native://newtab/";
95 const char kChromeUINativeBookmarksURL[] = "chrome-native://bookmarks/";
96 const char kChromeUINativeRecentTabsURL[] = "chrome-native://recent-tabs/";
97 const char kChromeUIWelcomeURL[] = "chrome://welcome/";
98 #endif
99 
100 #if defined(OS_CHROMEOS)
101 const char kChromeUIActivationMessage[] = "chrome://activationmessage/";
102 const char kChromeUIBluetoothPairingURL[] = "chrome://bluetooth-pairing/";
103 const char kChromeUICertificateManagerDialogURL[] =
104     "chrome://certificate-manager/";
105 const char kChromeUIChargerReplacementURL[] = "chrome://charger-replacement/";
106 const char kChromeUIChooseMobileNetworkURL[] =
107     "chrome://choose-mobile-network/";
108 const char kChromeUIDiscardsURL[] = "chrome://discards/";
109 const char kChromeUIFirstRunURL[] = "chrome://first-run/";
110 const char kChromeUIIdleLogoutDialogURL[] = "chrome://idle-logout/";
111 const char kChromeUIImageBurnerURL[] = "chrome://imageburner/";
112 const char kChromeUIKeyboardOverlayURL[] = "chrome://keyboardoverlay/";
113 const char kChromeUILockScreenURL[] = "chrome://lock/";
114 const char kChromeUIMediaplayerURL[] = "chrome://mediaplayer/";
115 const char kChromeUIMobileSetupURL[] = "chrome://mobilesetup/";
116 const char kChromeUINfcDebugURL[] = "chrome://nfc-debug/";
117 const char kChromeUIOobeURL[] = "chrome://oobe/";
118 const char kChromeUIOSCreditsURL[] = "chrome://os-credits/";
119 const char kChromeUIProxySettingsURL[] = "chrome://proxy-settings/";
120 const char kChromeUIScreenlockIconURL[] = "chrome://screenlock-icon/";
121 const char kChromeUISetTimeURL[] = "chrome://set-time/";
122 const char kChromeUISimUnlockURL[] = "chrome://sim-unlock/";
123 const char kChromeUISlideshowURL[] = "chrome://slideshow/";
124 const char kChromeUISlowURL[] = "chrome://slow/";
125 const char kChromeUISystemInfoURL[] = "chrome://system/";
126 const char kChromeUITermsOemURL[] = "chrome://terms/oem";
127 const char kChromeUIUserImageURL[] = "chrome://userimage/";
128 #endif
129 
130 #if defined(USE_AURA)
131 const char kChromeUIGestureConfigURL[] = "chrome://gesture/";
132 const char kChromeUIGestureConfigHost[] = "gesture";
133 const char kChromeUISalsaURL[] = "chrome://salsa/";
134 const char kChromeUISalsaHost[] = "salsa";
135 #endif
136 
137 #if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
138 const char kChromeUITabModalConfirmDialogURL[] =
139     "chrome://tab-modal-confirm-dialog/";
140 #endif
141 
142 #if defined(ENABLE_WEBRTC)
143 const char kChromeUIWebRtcLogsURL[] = "chrome://webrtc-logs/";
144 #endif
145 
146 // Add Chrome UI hosts here, in alphabetical order.
147 // Add hosts to kChromePaths in browser_about_handler.cc to be listed by
148 // chrome://chrome-urls (about:about) and the built-in AutocompleteProvider.
149 const char kChromeUIAboutHost[] = "about";
150 const char kChromeUIBlankHost[] = "blank";
151 const char kChromeUIAppLauncherPageHost[] = "apps";
152 const char kChromeUIAppListStartPageHost[] = "app-list";
153 const char kChromeUIBookmarksHost[] = "bookmarks";
154 const char kChromeUICacheHost[] = "cache";
155 const char kChromeUICertificateViewerHost[] = "view-cert";
156 const char kChromeUICertificateViewerDialogHost[] = "view-cert-dialog";
157 const char kChromeUIChromeSigninHost[] = "chrome-signin";
158 const char kChromeUIChromeURLsHost[] = "chrome-urls";
159 const char kChromeUICloudPrintResourcesHost[] = "cloudprintresources";
160 const char kChromeUICloudPrintSetupHost[] = "cloudprintsetup";
161 const char kChromeUIConflictsHost[] = "conflicts";
162 const char kChromeUIConstrainedHTMLTestHost[] = "constrained-test";
163 const char kChromeUICrashesHost[] = "crashes";
164 const char kChromeUICrashHost[] = "crash";
165 const char kChromeUICreditsHost[] = "credits";
166 const char kChromeUIDefaultHost[] = "version";
167 const char kChromeUIDevicesHost[] = "devices";
168 const char kChromeUIDevToolsHost[] = "devtools";
169 const char kChromeUIDevToolsBundledPath[] = "bundled";
170 const char kChromeUIDevToolsRemotePath[] = "remote";
171 const char kChromeUIDNSHost[] = "dns";
172 const char kChromeUIDownloadsHost[] = "downloads";
173 const char kChromeUIDriveInternalsHost[] = "drive-internals";
174 const char kChromeUIEditSearchEngineDialogHost[] = "editsearchengine";
175 const char kChromeUIExtensionIconHost[] = "extension-icon";
176 const char kChromeUIExtensionInfoHost[] = "extension-info";
177 const char kChromeUIExtensionsFrameHost[] = "extensions-frame";
178 const char kChromeUIExtensionsHost[] = "extensions";
179 const char kChromeUIFaviconHost[] = "favicon";
180 const char kChromeUIFeedbackHost[] = "feedback";
181 const char kChromeUIFlagsHost[] = "flags";
182 const char kChromeUIFlashHost[] = "flash";
183 const char kChromeUIGCMInternalsHost[] = "gcm-internals";
184 const char kChromeUIHangHost[] = "hang";
185 const char kChromeUIHelpFrameHost[] = "help-frame";
186 const char kChromeUIHelpHost[] = "help";
187 const char kChromeUIHistoryHost[] = "history";
188 const char kChromeUIHistoryFrameHost[] = "history-frame";
189 const char kChromeUIIdentityInternalsHost[] = "identity-internals";
190 const char kChromeUIInspectHost[] = "inspect";
191 const char kChromeUIInstantHost[] = "instant";
192 const char kChromeUIInvalidationsHost[] = "invalidations";
193 const char kChromeUIIPCHost[] = "ipc";
194 const char kChromeUIKillHost[] = "kill";
195 const char kChromeUIManagedUserPassphrasePageHost[] = "managed-user-passphrase";
196 const char kChromeUIMemoryHost[] = "memory";
197 const char kChromeUIMemoryInternalsHost[] = "memory-internals";
198 const char kChromeUIMemoryRedirectHost[] = "memory-redirect";
199 const char kChromeUIMetroFlowHost[] = "make-metro";
200 const char kChromeUINaClHost[] = "nacl";
201 const char kChromeUINetExportHost[] = "net-export";
202 const char kChromeUINetInternalsHost[] = "net-internals";
203 const char kChromeUINewTabHost[] = "newtab";
204 const char kChromeUIOmniboxHost[] = "omnibox";
205 const char kChromeUIPasswordManagerInternalsHost[] =
206     "password-manager-internals";
207 const char kChromeUIPerformanceMonitorHost[] = "performance";
208 const char kChromeUIPluginsHost[] = "plugins";
209 const char kChromeUIComponentsHost[] = "components";
210 const char kChromeUIPolicyHost[] = "policy";
211 const char kChromeUIProfileSigninConfirmationHost[] =
212     "profile-signin-confirmation";
213 const char kChromeUIUserManagerHost[] = "user-manager";
214 const char kChromeUIPredictorsHost[] = "predictors";
215 const char kChromeUIPrintHost[] = "print";
216 const char kChromeUIProfilerHost[] = "profiler";
217 const char kChromeUIQuotaInternalsHost[] = "quota-internals";
218 const char kChromeUIQuitHost[] = "quit";
219 const char kChromeUIRestartHost[] = "restart";
220 const char kChromeUISettingsHost[] = "settings";
221 const char kChromeUISettingsFrameHost[] = "settings-frame";
222 const char kChromeUIShorthangHost[] = "shorthang";
223 const char kChromeUISignInInternalsHost[] = "signin-internals";
224 const char kChromeUISuggestionsHost[] = "suggestions";
225 const char kChromeUISuggestionsInternalsHost[] = "suggestions-internals";
226 const char kChromeUISSLClientCertificateSelectorHost[] = "select-cert";
227 const char kChromeUIStatsHost[] = "stats";
228 const char kChromeUISyncHost[] = "sync";
229 const char kChromeUISyncFileSystemInternalsHost[] = "syncfs-internals";
230 const char kChromeUISyncInternalsHost[] = "sync-internals";
231 const char kChromeUISyncResourcesHost[] = "syncresources";
232 const char kChromeUISystemInfoHost[] = "system";
233 const char kChromeUITaskManagerHost[] = "tasks";
234 const char kChromeUITermsHost[] = "terms";
235 const char kChromeUIThemeHost[] = "theme";
236 const char kChromeUIThumbnailHost[] = "thumb";
237 const char kChromeUIThumbnailHost2[] = "thumb2";
238 const char kChromeUIThumbnailListHost[] = "thumbnails";
239 const char kChromeUITouchIconHost[] = "touch-icon";
240 const char kChromeUITranslateInternalsHost[] = "translate-internals";
241 const char kChromeUIUberFrameHost[] = "uber-frame";
242 const char kChromeUIUberHost[] = "chrome";
243 const char kChromeUIUserActionsHost[] = "user-actions";
244 const char kChromeUIVersionHost[] = "version";
245 const char kChromeUIWorkersHost[] = "workers";
246 
247 const char kChromeUIScreenshotPath[] = "screenshots";
248 const char kChromeUIThemePath[] = "theme";
249 
250 #if defined(OS_ANDROID)
251 const char kChromeUIWelcomeHost[] = "welcome";
252 #endif
253 
254 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
255 const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
256 const char kChromeUISandboxHost[] = "sandbox";
257 #endif
258 
259 #if defined(OS_CHROMEOS)
260 const char kChromeUIActivationMessageHost[] = "activationmessage";
261 const char kChromeUIAppLaunchHost[] = "app-launch";
262 const char kChromeUIBluetoothPairingHost[] = "bluetooth-pairing";
263 const char kChromeUICertificateManagerHost[] = "certificate-manager";
264 const char kChromeUIChargerReplacementHost[] = "charger-replacement";
265 const char kChromeUIChooseMobileNetworkHost[] = "choose-mobile-network";
266 const char kChromeUICryptohomeHost[] = "cryptohome";
267 const char kChromeUIDiscardsHost[] = "discards";
268 const char kChromeUIFirstRunHost[] = "first-run";
269 const char kChromeUIIdleLogoutDialogHost[] = "idle-logout";
270 const char kChromeUIImageBurnerHost[] = "imageburner";
271 const char kChromeUIKeyboardOverlayHost[] = "keyboardoverlay";
272 const char kChromeUILockScreenHost[] = "lock";
273 const char kChromeUILoginContainerHost[] = "login-container";
274 const char kChromeUILoginHost[] = "login";
275 const char kChromeUIMediaplayerHost[] = "mediaplayer";
276 const char kChromeUIMobileSetupHost[] = "mobilesetup";
277 const char kChromeUINfcDebugHost[] = "nfc-debug";
278 const char kChromeUINetworkHost[] = "network";
279 const char kChromeUIOobeHost[] = "oobe";
280 const char kChromeUIOSCreditsHost[] = "os-credits";
281 const char kChromeUIPowerHost[] = "power";
282 const char kChromeUIProvidedFileSystemsHost[] = "provided-file-systems";
283 const char kChromeUIProxySettingsHost[] = "proxy-settings";
284 const char kChromeUIRotateHost[] = "rotate";
285 const char kChromeUIScreenlockIconHost[] = "screenlock-icon";
286 const char kChromeUISetTimeHost[] = "set-time";
287 const char kChromeUISimUnlockHost[] = "sim-unlock";
288 const char kChromeUISlideshowHost[] = "slideshow";
289 const char kChromeUISlowHost[] = "slow";
290 const char kChromeUISlowTraceHost[] = "slow_trace";
291 const char kChromeUIUserImageHost[] = "userimage";
292 
293 const char kChromeUIMenu[] = "menu";
294 const char kChromeUINetworkMenu[] = "network-menu";
295 const char kChromeUIWrenchMenu[] = "wrench-menu";
296 
297 const char kEULAPathFormat[] = "/usr/share/chromeos-assets/eula/%s/eula.html";
298 const char kOemEulaURLPath[] = "oem";
299 const char kOnlineEulaURLPath[] =
300     "https://www.google.com/intl/%s/chrome/eula_text.html";
301 #endif
302 
303 #if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
304 const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
305 #endif
306 
307 #if defined(ENABLE_WEBRTC)
308 const char kChromeUIWebRtcLogsHost[] = "webrtc-logs";
309 #endif
310 
311 // Option sub pages.
312 // Add sub page paths to kChromeSettingsSubPages in builtin_provider.cc to be
313 // listed by the built-in AutocompleteProvider.
314 const char kAutofillSubPage[] = "autofill";
315 const char kClearBrowserDataSubPage[] = "clearBrowserData";
316 const char kContentSettingsExceptionsSubPage[] = "contentExceptions";
317 const char kContentSettingsSubPage[] = "content";
318 const char kCreateProfileSubPage[] = "createProfile";
319 const char kExtensionsSubPage[] = "extensions";
320 const char kHandlerSettingsSubPage[] = "handlers";
321 const char kImportDataSubPage[] = "importData";
322 const char kLanguageOptionsSubPage[] = "languages";
323 const char kSupervisedUserSettingsSubPage[] = "managedUser";
324 const char kManageProfileSubPage[] = "manageProfile";
325 const char kPasswordManagerSubPage[] = "passwords";
326 const char kResetProfileSettingsSubPage[] = "resetProfileSettings";
327 const char kSearchEnginesSubPage[] = "searchEngines";
328 const char kSearchSubPage[] = "search";
329 const char kSearchUsersSubPage[] = "search#Users";
330 const char kSyncSetupSubPage[] = "syncSetup";
331 #if defined(OS_CHROMEOS)
332 const char kInternetOptionsSubPage[] = "internet";
333 const char kBluetoothAddDeviceSubPage[] = "bluetooth";
334 const char kChangeProfilePictureSubPage[] = "changePicture";
335 #endif
336 
337 // Extension sub pages.
338 const char kExtensionConfigureCommandsSubPage[] = "configureCommands";
339 
340 const char kExtensionInvalidRequestURL[] = "chrome-extension://invalid/";
341 const char kExtensionResourceInvalidRequestURL[] =
342     "chrome-extension-resource://invalid/";
343 
344 const char kSyncGoogleDashboardURL[] =
345     "https://www.google.com/settings/chrome/sync/";
346 
347 const char kAutoPasswordGenerationLearnMoreURL[] =
348     "https://support.google.com/chrome/?p=ui_generate_password";
349 
350 const char kPasswordManagerLearnMoreURL[] =
351 #if defined(OS_CHROMEOS)
352     "https://support.google.com/chromeos/?p=settings_password";
353 #else
354     "https://support.google.com/chrome/?p=settings_password";
355 #endif
356 
357 const char kExtensionControlledSettingLearnMoreURL[] =
358     "https://support.google.com/chrome/?p=ui_settings_api_extension";
359 
360 const char kChromeHelpViaKeyboardURL[] =
361 #if defined(OS_CHROMEOS)
362 #if defined(OFFICIAL_BUILD)
363     "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
364 #else
365     "https://support.google.com/chromeos/?p=help&ctx=keyboard";
366 #endif  // defined(OFFICIAL_BUILD
367 #else
368     "https://support.google.com/chrome/?p=help&ctx=keyboard";
369 #endif  // defined(OS_CHROMEOS)
370 
371 const char kChromeHelpViaMenuURL[] =
372 #if defined(OS_CHROMEOS)
373 #if defined(OFFICIAL_BUILD)
374     "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
375 #else
376     "https://support.google.com/chromeos/?p=help&ctx=menu";
377 #endif  // defined(OFFICIAL_BUILD
378 #else
379     "https://support.google.com/chrome/?p=help&ctx=menu";
380 #endif  // defined(OS_CHROMEOS)
381 
382 const char kChromeHelpViaWebUIURL[] =
383 #if defined(OS_CHROMEOS)
384 #if defined(OFFICIAL_BUILD)
385     "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html";
386 #else
387     "https://support.google.com/chromeos/?p=help&ctx=settings";
388 #endif  // defined(OFFICIAL_BUILD
389 #else
390     "https://support.google.com/chrome/?p=help&ctx=settings";
391 #endif  // defined(OS_CHROMEOS)
392 
393 #if defined(OS_CHROMEOS)
394 const char kChromeAccessibilityHelpURL[] =
395     "https://support.google.com/chromeos/?p=accessibility_menu";
396 const char kChromeAccessibilitySettingsURL[] =
397     "/chromevox/background/options.html";
398 #endif  // defined(OS_CHROMEOS)
399 
400 #if defined(ENABLE_ONE_CLICK_SIGNIN)
401 const char kChromeSyncLearnMoreURL[] =
402     "http://support.google.com/chrome/bin/answer.py?answer=165139";
403 
404 const char kChromeSyncMergeTroubleshootingURL[] =
405     "https://support.google.com/chrome/answer/1181420#merge";
406 #endif  // defined(ENABLE_ONE_CLICK_SIGNIN)
407 
408 const char kChromeEnterpriseSignInLearnMoreURL[] =
409   "http://support.google.com/chromeos/bin/answer.py?hl=en&answer=1331549";
410 
411 const char kResetProfileSettingsLearnMoreURL[] =
412     "https://support.google.com/chrome/?p=ui_reset_settings";
413 
414 const char kAutomaticSettingsResetLearnMoreURL[] =
415     "https://support.google.com/chrome/?p=ui_automatic_settings_reset";
416 
417 const char kSupervisedUserManagementURL[] = "https://www.chrome.com/manage";
418 
419 const char kSupervisedUserManagementDisplayURL[] = "www.chrome.com/manage";
420 
421 const char kSettingsSearchHelpURL[] =
422 #if defined(OS_CHROMEOS)
423     "https://support.google.com/chromeos/?p=settings_search_help";
424 #else
425     "https://support.google.com/chrome/?p=settings_search_help";
426 #endif
427 
428 const char kOmniboxLearnMoreURL[] =
429 #if defined(OS_CHROMEOS)
430     "https://support.google.com/chromeos/?p=settings_omnibox";
431 #else
432     "https://support.google.com/chrome/?p=settings_omnibox";
433 #endif
434 
435 const char kPageInfoHelpCenterURL[] =
436 #if defined(OS_CHROMEOS)
437     "https://support.google.com/chromeos/?p=ui_security_indicator";
438 #else
439     "https://support.google.com/chrome/?p=ui_security_indicator";
440 #endif
441 
442 const char kCrashReasonURL[] =
443 #if defined(OS_CHROMEOS)
444     "https://support.google.com/chromeos/?p=e_awsnap";
445 #else
446     "https://support.google.com/chrome/?p=e_awsnap";
447 #endif
448 
449 const char kKillReasonURL[] =
450 #if defined(OS_CHROMEOS)
451     "https://support.google.com/chromeos/?p=e_deadjim";
452 #else
453     "https://support.google.com/chrome/?p=e_deadjim";
454 #endif
455 
456 const char kPrivacyLearnMoreURL[] =
457 #if defined(OS_CHROMEOS)
458     "https://support.google.com/chromeos/?p=settings_privacy";
459 #else
460     "https://support.google.com/chrome/?p=settings_privacy";
461 #endif
462 
463 const char kDoNotTrackLearnMoreURL[] =
464 #if defined(OS_CHROMEOS)
465     "https://support.google.com/chromeos/?p=settings_do_not_track";
466 #else
467     "https://support.google.com/chrome/?p=settings_do_not_track";
468 #endif
469 
470 #if defined(OS_CHROMEOS)
471 const char kAttestationForContentProtectionLearnMoreURL[] =
472     "https://support.google.com/chromebook/?p=verified_access";
473 
474 const char kEnhancedPlaybackNotificationLearnMoreURL[] =
475     "https://support.google.com/chromebook/?p=enhanced_playback";
476 #endif
477 
478 const char kChromiumProjectURL[] = "http://www.chromium.org/";
479 
480 const char kLearnMoreReportingURL[] =
481     "https://support.google.com/chrome/?p=ui_usagestat";
482 
483 const char kOutdatedPluginLearnMoreURL[] =
484     "https://support.google.com/chrome/?p=ib_outdated_plugin";
485 
486 const char kBlockedPluginLearnMoreURL[] =
487     "https://support.google.com/chrome/?p=ib_blocked_plugin";
488 
489 const char kHotwordLearnMoreURL[] =
490     "https://support.google.com/chrome/?p=ui_hotword_search";
491 
492 const char kLearnMoreRegisterProtocolHandlerURL[] =
493     "https://support.google.com/chrome/?p=ib_protocol_handler";
494 
495 const char kSyncLearnMoreURL[] =
496     "https://support.google.com/chrome/?p=settings_sign_in";
497 
498 const char kDownloadScanningLearnMoreURL[] =
499     "https://support.google.com/chrome/?p=ib_download_blocked";
500 
501 const char kDownloadInterruptedLearnMoreURL[] =
502     "https://support.google.com/chrome/?p=ui_download_errors";
503 
504 const char kSyncEverythingLearnMoreURL[] =
505     "https://support.google.com/chrome/?p=settings_sync_all";
506 
507 const char kCloudPrintLearnMoreURL[] =
508 #if defined(OS_CHROMEOS)
509     "https://support.google.com/chromeos/?p=settings_cloud_print";
510 #else
511     "https://support.google.com/chrome/?p=settings_cloud_print";
512 #endif
513 
514 const char kCloudPrintNoDestinationsLearnMoreURL[] =
515     "https://www.google.com/cloudprint/learn/";
516 
517 const char kAppLauncherHelpURL[] =
518     "https://support.google.com/chrome_webstore/?p=cws_app_launcher";
519 
520 const char kSyncEncryptionHelpURL[] =
521 #if defined(OS_CHROMEOS)
522     "https://support.google.com/chromeos/?p=settings_encryption";
523 #else
524     "https://support.google.com/chrome/?p=settings_encryption";
525 #endif
526 
527 const char kSyncErrorsHelpURL[] =
528     "https://support.google.com/chrome/?p=settings_sync_error";
529 
530 #if defined(OS_CHROMEOS)
531 const char kNaturalScrollHelpURL[] =
532     "https://support.google.com/chromeos/?p=simple_scrolling";
533 #endif
534 
535 #if defined(OS_CHROMEOS)
536 const char kLearnMoreEnterpriseURL[] =
537     "https://support.google.com/chromeos/bin/answer.py?answer=2535613";
538 #endif
539 
540 const char kRemoveNonCWSExtensionURL[] =
541     "https://support.google.com/chrome/answer/2811969?"
542     "p=ui_remove_non_cws_extensions&rd=1";
543 
544 const char kCorruptExtensionURL[] =
545     "https://support.google.com/chrome/?p=settings_corrupt_extension";
546 
547 const char kNotificationsHelpURL[] =
548     "https://support.google.com/chrome/?p=ui_notifications";
549 
550 const char kNotificationWelcomeLearnMoreURL[] =
551     "https://support.google.com/chrome/?p=ib_google_now_welcome";
552 
553 // Add hosts here to be included in chrome://chrome-urls (about:about).
554 // These hosts will also be suggested by BuiltinProvider.
555 const char* const kChromeHostURLs[] = {
556   kChromeUICacheHost,
557   kChromeUIChromeURLsHost,
558   kChromeUIComponentsHost,
559   kChromeUICrashesHost,
560   kChromeUICreditsHost,
561   kChromeUIDNSHost,
562   kChromeUIFlagsHost,
563   kChromeUIHistoryHost,
564   kChromeUIInvalidationsHost,
565   kChromeUIMemoryHost,
566   kChromeUIMemoryInternalsHost,
567   kChromeUINetInternalsHost,
568   kChromeUINewTabHost,
569   kChromeUIOmniboxHost,
570   kChromeUIPasswordManagerInternalsHost,
571   kChromeUIPredictorsHost,
572   kChromeUIProfilerHost,
573   kChromeUISignInInternalsHost,
574   kChromeUIStatsHost,
575   kChromeUISyncInternalsHost,
576   kChromeUITermsHost,
577   kChromeUITranslateInternalsHost,
578   kChromeUIUserActionsHost,
579   kChromeUIVersionHost,
580   content::kChromeUIAccessibilityHost,
581   content::kChromeUIAppCacheInternalsHost,
582   content::kChromeUIBlobInternalsHost,
583   content::kChromeUIGpuHost,
584   content::kChromeUIHistogramHost,
585   content::kChromeUIIndexedDBInternalsHost,
586   content::kChromeUIMediaInternalsHost,
587   content::kChromeUINetworkViewCacheHost,
588   content::kChromeUIServiceWorkerInternalsHost,
589   content::kChromeUITracingHost,
590   content::kChromeUIWebRTCInternalsHost,
591 #if defined(OS_ANDROID)
592   kChromeUIWelcomeHost,
593 #else
594   kChromeUIAppLauncherPageHost,
595   kChromeUIBookmarksHost,
596   kChromeUIDownloadsHost,
597   kChromeUIFlashHost,
598   kChromeUIGCMInternalsHost,
599   kChromeUIHelpHost,
600   kChromeUIInspectHost,
601   kChromeUIIPCHost,
602   kChromeUIPluginsHost,
603   kChromeUIQuotaInternalsHost,
604   kChromeUISettingsHost,
605   kChromeUISystemInfoHost,
606   kChromeUIUberHost,
607 #endif
608 #if defined(OS_ANDROID) || defined(OS_IOS)
609   kChromeUINetExportHost,
610 #endif
611 #if defined(OS_CHROMEOS)
612   kChromeUICertificateManagerHost,
613   kChromeUIChooseMobileNetworkHost,
614   kChromeUICryptohomeHost,
615   kChromeUIDiscardsHost,
616   kChromeUIDriveInternalsHost,
617   kChromeUIFirstRunHost,
618   kChromeUIImageBurnerHost,
619   kChromeUIKeyboardOverlayHost,
620   kChromeUILoginHost,
621   kChromeUINetworkHost,
622   kChromeUIOobeHost,
623   kChromeUIOSCreditsHost,
624   kChromeUIPowerHost,
625   kChromeUIProxySettingsHost,
626   kChromeUITaskManagerHost,
627 #endif
628 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
629   kChromeUILinuxProxyConfigHost,
630   kChromeUISandboxHost,
631 #endif
632 #if defined(OS_WIN)
633   kChromeUIConflictsHost,
634 #endif
635 #if !defined(DISABLE_NACL)
636   kChromeUINaClHost,
637 #endif
638 #if defined(ENABLE_CONFIGURATION_POLICY)
639   kChromeUIPolicyHost,
640 #endif
641 #if defined(ENABLE_EXTENSIONS)
642   kChromeUIExtensionsHost,
643 #endif
644 #if defined(ENABLE_FULL_PRINTING)
645   kChromeUIPrintHost,
646 #endif
647 #if defined(ENABLE_SERVICE_DISCOVERY)
648   kChromeUIDevicesHost,
649 #endif
650 #if defined(ENABLE_WEBRTC)
651   kChromeUIWebRtcLogsHost,
652 #endif
653 };
654 const size_t kNumberOfChromeHostURLs = arraysize(kChromeHostURLs);
655 
656 const char* const kChromeDebugURLs[] = {
657   content::kChromeUICrashURL,
658   content::kChromeUIDumpURL,
659   content::kChromeUIKillURL,
660   content::kChromeUIHangURL,
661   content::kChromeUIShorthangURL,
662   content::kChromeUIGpuCleanURL,
663   content::kChromeUIGpuCrashURL,
664   content::kChromeUIGpuHangURL,
665   content::kChromeUIPpapiFlashCrashURL,
666   content::kChromeUIPpapiFlashHangURL,
667   chrome::kChromeUIQuitURL,
668   chrome::kChromeUIRestartURL
669 };
670 const int kNumberOfChromeDebugURLs =
671     static_cast<int>(arraysize(kChromeDebugURLs));
672 
673 const char kChromeNativeScheme[] = "chrome-native";
674 
675 const char kChromeSearchScheme[] = "chrome-search";
676 const char kChromeSearchLocalNtpHost[] = "local-ntp";
677 const char kChromeSearchLocalNtpUrl[] =
678     "chrome-search://local-ntp/local-ntp.html";
679 const char kChromeSearchRemoteNtpHost[] = "remote-ntp";
680 
681 const char kChromeSearchMostVisitedHost[] = "most-visited";
682 const char kChromeSearchMostVisitedUrl[] = "chrome-search://most-visited/";
683 
684 const char kDomDistillerScheme[] = "chrome-distiller";
685 
686 // Google SafeSearch query parameters.
687 const char kSafeSearchSafeParameter[] = "safe=active";
688 const char kSafeSearchSsuiParameter[] = "ssui=on";
689 
690 const char kMediaAccessLearnMoreUrl[] =
691     "https://support.google.com/chrome/?p=ib_access_cam_mic";
692 
693 const char kLanguageSettingsLearnMoreUrl[] =
694 #if defined(OS_CHROMEOS)
695     "https://support.google.com/chromebook/answer/1059490";
696 #else
697     "https://support.google.com/chrome/topic/1678461";
698 #endif
699 
700 #if defined(OS_MACOSX)
701 const char kMac32BitDeprecationURL[] =
702 #if !defined(ARCH_CPU_64_BITS)
703     "https://support.google.com/chrome/?p=ui_mac_32bit_support";
704 #else
705     "";
706 #endif
707 #endif
708 
709 // TODO(tengs): Replace with real URL when ready.
710 const char kEasyUnlockLearnMoreUrl[] =
711     "https://support.google.com/chromebook/?p=easy_unlock";
712 const char kEasyUnlockManagementUrl[] = "https://chrome.com";
713 
714 }  // namespace chrome
715