Home | History | Annotate | Download | only in common
      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