172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use of this source code is governed by a BSD-style license that can be
306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// found in the LICENSE file.
406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include <stdlib.h>
606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "chrome/common/url_constants.h"
806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "googleurl/src/url_util.h"
906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
1006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochnamespace chrome {
1106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
1206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#if defined(OS_CHROMEOS)
1306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kCrosScheme[] = "cros";
1406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#endif
1506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
1606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char* kSavableSchemes[] = {
1706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kHttpScheme,
1806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kHttpsScheme,
1906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kFileScheme,
2006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kFtpScheme,
2106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kExtensionScheme,
22513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  kChromeDevToolsScheme,
2306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  kChromeUIScheme,
2406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  NULL
2506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch};
2606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAboutAboutURL[] = "about:about";
2806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutAppCacheInternalsURL[] = "about:appcache-internals";
2906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutCacheURL[] = "about:cache";
30513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kAboutConflicts[] = "about:conflicts";
3172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kAboutKillURL[] = "about:kill";
3206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutCreditsURL[] = "about:credits";
333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAboutDNSURL[] = "about:dns";
34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kAboutFlagsURL[] = "about:flags";
3521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenconst char kAboutGpuURL[] = "about:gpu";
363345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAboutGpuCrashURL[] = "about:gpucrash";
373345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAboutGpuHangURL[] = "about:gpuhang";
3806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutHangURL[] = "about:hang";
393345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAboutHistogramsURL[] = "about:histograms";
4006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutMemoryURL[] = "about:memory";
4106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutNetInternalsURL[] = "about:net-internals";
4206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutPluginsURL[] = "about:plugins";
4306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutShorthangURL[] = "about:shorthang";
4472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kAboutSyncURL[] = "about:sync";
4572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kAboutSyncInternalsURL[] = "about:sync-internals";
4606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutTermsURL[] = "about:terms";
4706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutVersionURL[] = "about:version";
4806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
4906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use an obfuscated URL to make this nondiscoverable, we only want this
5006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// to be used for testing.
5106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAboutBrowserCrash[] = "about:inducebrowsercrashforrealz";
5206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
53731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIAboutAboutURL[] = "chrome://about/about";
543f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenconst char kChromeUIAboutCreditsURL[] = "chrome://about/credits";
553345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIAboutURL[] = "chrome://settings/about";
5606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIAppLauncherURL[] = "chrome://newtab/#mode=app-launcher";
5706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIBookmarksURL[] = "chrome://bookmarks/";
583345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIBugReportURL[] = "chrome://bugreport/";
59513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUIConflictsURL[] = "chrome://conflicts/";
60731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIConstrainedHTMLTestURL[] = "chrome://constrained-test/";
61dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUICrashesURL[] = "chrome://crashes/";
62513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUIDevToolsURL[] = "chrome-devtools://devtools/";
6306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIDownloadsURL[] = "chrome://downloads/";
64dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUIExtensionIconURL[] = "chrome://extension-icon/";
6506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIExtensionsURL[] = "chrome://extensions/";
66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIFaviconURL[] = "chrome://favicon/";
67731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIFlagsURL[] = "chrome://flags/";
6806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIHistory2URL[] = "chrome://history2/";
693345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIHistoryURL[] = "chrome://history/";
7006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIIPCURL[] = "chrome://about/ipc";
713345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIKeyboardURL[] = "chrome://keyboard/";
7206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUINewTabURL[] = "chrome://newtab";
7306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIPluginsURL[] = "chrome://plugins/";
7406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIPrintURL[] = "chrome://print/";
753345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUISettingsURL[] = "chrome://settings/";
76513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUITextfieldsURL[] = "chrome://textfields/";
773345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
783345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#if defined(OS_CHROMEOS)
793f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenconst char kChromeUIAboutOSCreditsURL[] = "chrome://about/os-credits";
8072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kChromeUIActivationMessage[] = "chrome://activationmessage/";
813345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIFileBrowseURL[] = "chrome://filebrowse/";
82ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIActiveDownloadsURL[] = "chrome://active-downloads/";
83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIChooseMobileNetworkURL[] =
84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "chrome://choose-mobile-network/";
85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUICollectedCookiesURL[] = "chrome://collected-cookies/";
86ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIHttpAuthURL[] = "chrome://http-auth/";
873345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIImageBurnerURL[] = "chrome://imageburner/";
88513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUIKeyboardOverlayURL[] = "chrome://keyboardoverlay/";
893345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIMediaplayerURL[] = "chrome://mediaplayer/";
903345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIMobileSetupURL[] = "chrome://mobilesetup/";
91ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIProxySettingsURL[] = "chrome://proxy-settings/";
9206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIRegisterPageURL[] = "chrome://register/";
9306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUISlideshowURL[] = "chrome://slideshow/";
94ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUISimUnlockURL[] = "chrome://sim-unlock/";
953345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUISystemInfoURL[] = "chrome://system/";
96dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUIUserImageURL[] = "chrome://userimage/";
97ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIEnterpriseEnrollmentURL[] =
98ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "chrome://enterprise-enrollment/";
993345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#endif
10006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
1013345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Keep this list sorted please.
10206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIBookmarksHost[] = "bookmarks";
1033345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIBugReportHost[] = "bugreport";
104513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUIConflictsHost[] = "conflicts";
105dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUICrashesHost[] = "crashes";
10606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIDevToolsHost[] = "devtools";
10706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIDialogHost[] = "dialog";
10806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIDownloadsHost[] = "downloads";
109dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUIExtensionIconHost[] = "extension-icon";
11006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIExtensionsHost[] = "extensions";
111ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIFaviconHost[] = "favicon";
112731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIFlagsHost[] = "flags";
11321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenconst char kChromeUIGpuInternalsHost[] = "gpu-internals";
11406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIHistoryHost[] = "history";
11506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIHistory2Host[] = "history2";
11606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIInspectorHost[] = "inspector";
1173345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIKeyboardHost[] = "keyboard";
11806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUINetInternalsHost[] = "net-internals";
11906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUINewTabHost[] = "newtab";
12006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIPluginsHost[] = "plugins";
12106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIPrintHost[] = "print";
12206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIRemotingHost[] = "remoting";
1233345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIRemotingResourcesHost[] = "remotingresources";
12406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIResourcesHost[] = "resources";
1253345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIScreenshotPath[] = "screenshots";
1263345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUISettingsHost[] = "settings";
12772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kChromeUISyncInternalsHost[] = "sync-internals";
12806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUISyncResourcesHost[] = "syncresources";
129513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUITextfieldsHost[] = "textfields";
13006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIThemePath[] = "theme";
13106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kChromeUIThumbnailPath[] = "thumb";
13206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
1333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#if defined(OS_CHROMEOS)
134ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIActiveDownloadsHost[] = "active-downloads";
13572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kChromeUIActivationMessageHost[] = "activationmessage";
136ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIChooseMobileNetworkHost[] = "choose-mobile-network";
137ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUICollectedCookiesHost[] = "collected-cookies";
138ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIHttpAuthHost[] = "http-auth";
1393345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIImageBurnerHost[] = "imageburner";
140513209b27ff55e2841eac0e4120199c23acce758Ben Murdochconst char kChromeUIKeyboardOverlayHost[] = "keyboardoverlay";
1413345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIMediaplayerHost[] = "mediaplayer";
1423345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIMobileSetupHost[] = "mobilesetup";
143ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIProxySettingsHost[] = "proxy-settings";
1443345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUIRegisterPageHost[] = "register";
1453345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUISlideshowHost[] = "slideshow";
146ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUISimUnlockHost[] = "sim-unlock";
1473345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kChromeUISystemInfoHost[] = "system";
148731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIMenu[] = "menu";
149731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUIWrenchMenu[] = "wrench-menu";
150731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kChromeUINetworkMenu[] = "network-menu";
151dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUIUserImageHost[] = "userimage";
152ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kChromeUIEnterpriseEnrollmentHost[] = "enterprise-enrollment";
153dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif
154dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
155dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#if defined(OS_CHROMEOS) && defined(TOUCH_UI)
156dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUILoginContainerHost[] = "login-container";
157dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kChromeUILoginHost[] = "login";
1583345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#endif
1593345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
16006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kAppCacheViewInternalsURL[] = "chrome://appcache-internals/";
16106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
162731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kBlobViewInternalsURL[] = "chrome://blob-internals/";
163731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
16406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kCloudPrintResourcesURL[] = "chrome://cloudprintresources/";
16506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kCloudPrintResourcesHost[] = "cloudprintresources";
166201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochconst char kCloudPrintSetupHost[] = "cloudprintsetup";
16706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
16806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kNetworkViewInternalsURL[] = "chrome://net-internals/";
16906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochconst char kNetworkViewCacheURL[] = "chrome://view-http-cache/";
17006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
17172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kSyncViewInternalsURL[] = "chrome://sync-internals/";
17272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
17321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// GPU sub pages
17421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenconst char kGpuInternalsURL[] = "chrome://gpu-internals/";
17521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
1763345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Option sub pages.
1773345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kAdvancedOptionsSubPage[] =  "advanced";
178ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kAutofillSubPage[] = "autofill";
179731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kBrowserOptionsSubPage[] =  "browser";
180dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kClearBrowserDataSubPage[] = "clearBrowserData";
1813345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kContentSettingsSubPage[] = "content";
18272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kContentSettingsExceptionsSubPage[] = "contentExceptions";
183731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kDefaultOptionsSubPage[] =  "";
184dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenconst char kImportDataSubPage[] = "importData";
185ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kInstantConfirmPage[] = "instantConfirm";
186ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kLanguageOptionsSubPage[] = "languages";
187731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kPersonalOptionsSubPage[] =  "personal";
188ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kPasswordManagerSubPage[] =  "passwords";
189731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kSearchEnginesSubPage[] = "searchEngines";
190ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kSyncSetupSubPage[] = "syncSetup";
1913345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#if defined(OS_CHROMEOS)
1923345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst char kInternetOptionsSubPage[] = "internet";
193731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickconst char kSystemOptionsSubPage[] = "system";
1943345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#endif
1953345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
196ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kPasswordManagerLearnMoreURL[] =
197ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#if defined(OS_CHROMEOS)
198ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chromeos/bin/answer.py?answer=95606";
199ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#else
200ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=95606";
201ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif
202ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
203201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochconst char kChromeHelpURL[] =
204201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#if defined(OS_CHROMEOS)
205ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  "https://www.google.com/support/chromeos/";
206201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#else
207ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  "https://www.google.com/support/chrome/";
208201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#endif
209201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
210201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch  const char kPageInfoHelpCenterURL[] =
2114a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#if defined(OS_CHROMEOS)
212ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chromeos/bin/answer.py?answer=95617";
2134a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#else
214ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=95617";
2154a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif
2164a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
2174a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochconst char kCrashReasonURL[] =
2184a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#if defined(OS_CHROMEOS)
219ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chromeos/bin/answer.py?answer=1047340";
2204a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#else
221ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=95669";
2224a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif
2234a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
22472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// TODO: These are currently placeholders that point to the crash
22572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// docs.  See bug http://crosbug.com/10711
22672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kKillReasonURL[] =
22772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#if defined(OS_CHROMEOS)
228ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chromeos/bin/answer.py?answer=1047340";
22972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#else
230ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=95669";
23172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#endif
23272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
2334a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochconst char kPrivacyLearnMoreURL[] =
2344a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#if defined(OS_CHROMEOS)
235ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chromeos/bin/answer.py?answer=1047334";
2364a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#else
237ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=114836";
2384a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#endif
2394a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
2403f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenconst char kChromiumProjectURL[] = "http://code.google.com/chromium/";
2413f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen
2423f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsenconst char kLearnMoreReportingURL[] =
243ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=96817";
24472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
24572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenconst char kOutdatedPluginLearnMoreURL[] =
246ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=1181003";
247ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
248ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenconst char kBlockedPluginLearnMoreURL[] =
249ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    "https://www.google.com/support/chrome/bin/answer.py?answer=1247383";
2503f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen
25106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochvoid RegisterChromeSchemes() {
25206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // Don't need "chrome-internal" which was used in old versions of Chrome for
25306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // the new tab page.
254513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch  url_util::AddStandardScheme(kChromeDevToolsScheme);
25506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  url_util::AddStandardScheme(kChromeUIScheme);
25606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  url_util::AddStandardScheme(kExtensionScheme);
25706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  url_util::AddStandardScheme(kMetadataScheme);
25806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#if defined(OS_CHROMEOS)
25906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  url_util::AddStandardScheme(kCrosScheme);
26006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#endif
26106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
26206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // Prevent future modification of the standard schemes list. This is to
26306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // prevent accidental creation of data races in the program. AddStandardScheme
26406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // isn't threadsafe so must be called when GURL isn't used on any other
26506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // thread. This is really easy to mess up, so we say that all calls to
26606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  // AddStandardScheme in Chrome must be inside this function.
26706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch  url_util::LockStandardSchemes();
26806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}
26906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch
27006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}  // namespace chrome
271