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.
5 // Defines all the command-line switches used by Chrome.
7 #ifndef CHROME_COMMON_CHROME_SWITCHES_H_
8 #define CHROME_COMMON_CHROME_SWITCHES_H_
10 #include "build/build_config.h"
12 #include "base/base_switches.h"
13 #include "components/autofill/core/common/autofill_switches.h"
14 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
15 #include "components/password_manager/core/common/password_manager_switches.h"
16 #include "components/signin/core/common/signin_switches.h"
17 #include "content/public/common/content_switches.h"
21 // -----------------------------------------------------------------------------
22 // Can't find the switch you are looking for? Try looking in
23 // media/base/media_switches.cc or ui/gl/gl_switches.cc or one of the
24 // .cc files corresponding to the *_switches.h files included above
26 // -----------------------------------------------------------------------------
28 // All switches in alphabetical order. The switches should be documented
29 // alongside the definition of their values in the .cc file.
30 extern const char kAllowCrossOriginAuthPrompt
[];
31 extern const char kAllowFileAccess
[];
32 extern const char kAllowHttpScreenCapture
[];
33 extern const char kAllowInsecureLocalhost
[];
34 extern const char kAllowOutdatedPlugins
[];
35 extern const char kAllowRunningInsecureContent
[];
36 extern const char kAlternativeServiceProbabilityThreshold
[];
37 extern const char kAlwaysAuthorizePlugins
[];
38 extern const char kAppId
[];
39 extern const char kApp
[];
40 extern const char kAppsGalleryDownloadURL
[];
41 extern const char kAppsGalleryURL
[];
42 extern const char kAppsGalleryUpdateURL
[];
43 extern const char kAppModeAuthCode
[];
44 extern const char kAppModeOAuth2Token
[];
45 extern const char kAuthExtensionPath
[];
46 extern const char kAuthServerWhitelist
[];
47 extern const char kAutoLaunchAtStartup
[];
48 extern const char kAutoSelectDesktopCaptureSource
[];
49 extern const char kBypassAppBannerEngagementChecks
[];
50 extern const char kCertificateTransparencyLog
[];
51 extern const char kCheckForUpdateIntervalSec
[];
52 extern const char kCipherSuiteBlacklist
[];
53 extern const char kCloudPrintFile
[];
54 extern const char kCloudPrintJobTitle
[];
55 extern const char kCloudPrintFileType
[];
56 extern const char kCloudPrintPrintTicket
[];
57 extern const char kCloudPrintSetupProxy
[];
58 extern const char kCrashOnHangThreads
[];
59 extern const char kCreateBrowserOnStartupForTests
[];
60 extern const char kDebugEnableFrameToggle
[];
61 extern const char kDebugPackedApps
[];
62 extern const char kDiagnostics
[];
63 extern const char kDiagnosticsFormat
[];
64 extern const char kDiagnosticsRecovery
[];
65 extern const char kDisableAboutInSettings
[];
66 extern const char kDisableAddToShelf
[];
67 extern const char kDisableAsyncDns
[];
68 extern const char kDisableBackgroundNetworking
[];
69 extern const char kDisableBundledPpapiFlash
[];
70 extern const char kDisableCastStreamingHWEncoding
[];
71 extern const char kDisableChildAccountDetection
[];
72 extern const char kDisableClientSidePhishingDetection
[];
73 extern const char kDisableComponentExtensionsWithBackgroundPages
[];
74 extern const char kDisableComponentUpdate
[];
75 extern const char kDisableDefaultApps
[];
76 extern const char kDisableDeviceDiscoveryNotifications
[];
77 extern const char kDisableDinosaurEasterEgg
[];
78 extern const char kDisableDomainReliability
[];
79 extern const char kDisableExtensionsFileAccessCheck
[];
80 extern const char kDisableExtensionsHttpThrottling
[];
81 extern const char kDisableExtensions
[];
82 extern const char kDisableFieldTrialTestingConfig
[];
83 extern const char kDisableJavaScriptHarmonyShipping
[];
84 extern const char kDisableMinimizeOnSecondLauncherItemClick
[];
85 extern const char kDisableNewBookmarkApps
[];
86 extern const char kDisableNTPPopularSites
[];
87 extern const char kDisableOfflineAutoReload
[];
88 extern const char kDisableOfflineAutoReloadVisibleOnly
[];
89 extern const char kDisableOutOfProcessPac
[];
90 extern const char kDisablePasswordManagerReauthentication
[];
91 extern const char kDisablePdfMaterialUI
[];
92 extern const char kDisablePermissionsBubbles
[];
93 extern const char kDisablePopupBlocking
[];
94 extern const char kDisablePreconnect
[];
95 extern const char kDisablePrintPreview
[];
96 extern const char kDisablePromptOnRepost
[];
97 extern const char kDisableQuic
[];
98 extern const char kDisableQuicPortSelection
[];
99 extern const char kDisableSavePasswordBubble
[];
100 extern const char kDisableSdchPersistence
[];
101 extern const char kDisableSessionCrashedBubble
[];
102 extern const char kDisableSiteEngagementService
[];
103 extern const char kDisableSuggestionsService
[];
104 extern const char kDisableSync
[];
105 extern const char kDisableSyncTypes
[];
106 extern const char kDisableWebResources
[];
107 extern const char kDisableZeroBrowsersOpenForTests
[];
108 extern const char kDiskCacheDir
[];
109 extern const char kDiskCacheSize
[];
110 extern const char kDnsLogDetails
[];
111 extern const char kDnsPrefetchDisable
[];
112 extern const char kDumpBrowserHistograms
[];
113 extern const char kEasyUnlockAppPath
[];
114 extern const char kEnableAddToShelf
[];
115 extern const char kEnableAppsFileAssociations
[];
116 extern const char kEnableBenchmarking
[];
117 extern const char kEnableBookmarkUndo
[];
118 extern const char kEnableChildAccountDetection
[];
119 extern const char kEnableClearBrowsingDataCounters
[];
120 extern const char kEnableCloudPrintProxy
[];
121 extern const char kEnableDevToolsExperiments
[];
122 extern const char kEnableDeviceDiscoveryNotifications
[];
123 extern const char kEnableDownloadNotification
[];
124 extern const char kEnableDomainReliability
[];
125 extern const char kEnableEphemeralAppsInWebstore
[];
126 extern const char kEnableExperimentalHotwordHardware
[];
127 extern const char kEnableExtensionActivityLogging
[];
128 extern const char kEnableExtensionActivityLogTesting
[];
129 extern const char kEnableFastUnload
[];
130 extern const char kEnableInsecureQuic
[];
131 extern const char kEnableMaterialDesignDownloads
[];
132 extern const char kEnableMaterialDesignSettings
[];
133 extern const char kEnableMediaRouter
[];
134 extern const char kEnableNaCl
[];
135 extern const char kEnableNavigationTracing
[];
136 extern const char kEnableNetBenchmarking
[];
137 extern const char kEnableNewBookmarkApps
[];
138 extern const char kEnableNTPPopularSites
[];
139 extern const char kEnableOfflineAutoReload
[];
140 extern const char kEnableOfflineAutoReloadVisibleOnly
[];
141 extern const char kEnablePanels
[];
142 extern const char kEnablePdfMaterialUI
[];
143 extern const char kEnablePermissionsBubbles
[];
144 extern const char kEnablePluginPlaceholderShadowDom
[];
145 extern const char kEnablePotentiallyAnnoyingSecurityFeatures
[];
146 extern const char kEnablePowerOverlay
[];
147 extern const char kEnablePrintPreviewRegisterPromos
[];
148 extern const char kEnableProfiling
[];
149 extern const char kEnableQuic
[];
150 extern const char kEnableQuicPortSelection
[];
151 extern const char kEnableSavePasswordBubble
[];
152 extern const char kEnableSdchPersistence
[];
153 extern const char kEnableSessionCrashedBubble
[];
154 extern const char kEnableSettingsWindow
[];
155 extern const char kDisableSettingsWindow
[];
156 extern const char kEnableSimplifiedFullscreenUI
[];
157 extern const char kDisableSimplifiedFullscreenUI
[];
158 extern const char kEnableSiteEngagementService
[];
159 extern const char kEnableSuggestionsService
[];
160 extern const char kEnableSupervisedUserManagedBookmarksFolder
[];
161 extern const char kEnableTabAudioMuting
[];
162 extern const char kEnableThumbnailRetargeting
[];
163 extern const char kEnableUserAlternateProtocolPorts
[];
164 extern const char kEnableWebAppFrame
[];
165 extern const char kEnableWifiCredentialSync
[];
166 extern const char kExtensionContentVerificationBootstrap
[];
167 extern const char kExtensionContentVerificationEnforceStrict
[];
168 extern const char kExtensionContentVerificationEnforce
[];
169 extern const char kExtensionContentVerification
[];
170 extern const char kExtensionsInstallVerification
[];
171 extern const char kExtensionsNotWebstore
[];
172 extern const char kExtensionsUpdateFrequency
[];
173 extern const char kFakeVariationsChannel
[];
174 extern const char kFastStart
[];
175 extern const char kFlagSwitchesBegin
[];
176 extern const char kFlagSwitchesEnd
[];
177 extern const char kForceAppMode
[];
178 extern const char kForceFieldTrialParams
[];
179 extern const char kForceFirstRun
[];
180 extern const char kForceVariationIds
[];
181 extern const char kForceLocalNtp
[];
182 extern const char kHistoryEnableGroupByDomain
[];
183 extern const char kHomePage
[];
184 extern const char kHostRules
[];
185 extern const char kHostResolverRetryAttempts
[];
186 extern const char kIgnoreUrlFetcherCertRequests
[];
187 extern const char kIncognito
[];
188 extern const char kInstallChromeApp
[];
189 extern const char kInstallSupervisedUserWhitelists
[];
190 extern const char kInstantProcess
[];
191 extern const char kInvalidationUseGCMChannel
[];
192 extern const char kIpcDumpDirectory
[];
193 extern const char kJavaScriptHarmony
[];
194 extern const char kKeepAliveForTest
[];
195 extern const char kKioskMode
[];
196 extern const char kKioskModePrinting
[];
197 extern const char kLoadComponentExtension
[];
198 extern const char kLoadExtension
[];
199 #if !defined(OFFICIAL_BUILD)
200 extern const char kLocalNtpReload
[];
202 extern const char kMakeDefaultBrowser
[];
203 extern const char kManualEnhancedBookmarks
[];
204 extern const char kManualEnhancedBookmarksOptout
[];
205 extern const char kMarkNonSecureAs
[];
206 extern const char kMarkNonSecureAsNeutral
[];
207 extern const char kMarkNonSecureAsNonSecure
[];
208 extern const char kMediaCacheSize
[];
209 extern const char kMessageLoopHistogrammer
[];
210 extern const char kMetricsRecordingOnly
[];
211 extern const char kMonitoringDestinationID
[];
212 extern const char kNetLogCaptureMode
[];
213 extern const char kNoDefaultBrowserCheck
[];
214 extern const char kNoDisplayingInsecureContent
[];
215 extern const char kNoExperiments
[];
216 extern const char kNoFirstRun
[];
217 extern const char kNoProxyServer
[];
218 extern const char kNoPings
[];
219 extern const char kNoServiceAutorun
[];
220 extern const char kNoStartupWindow
[];
221 extern const char kNoSupervisedUserAcknowledgmentCheck
[];
222 extern const char kNumPacThreads
[];
223 extern const char kOpenInNewWindow
[];
224 extern const char kOriginToForceQuicOn
[];
225 extern const char kOriginalProcessStartTime
[];
226 extern const char kPackExtension
[];
227 extern const char kPackExtensionKey
[];
228 extern const char kParentProfile
[];
229 extern const char kPermissionRequestApiScope
[];
230 extern const char kPermissionRequestApiUrl
[];
231 extern const char kPpapiFlashPath
[];
232 extern const char kPpapiFlashVersion
[];
233 extern const char kPrerenderFromOmnibox
[];
234 extern const char kPrerenderFromOmniboxSwitchValueAuto
[];
235 extern const char kPrerenderFromOmniboxSwitchValueDisabled
[];
236 extern const char kPrerenderFromOmniboxSwitchValueEnabled
[];
237 extern const char kPrerenderMode
[];
238 extern const char kPrerenderModeSwitchValueDisabled
[];
239 extern const char kPrerenderModeSwitchValueEnabled
[];
240 extern const char kPrivetIPv6Only
[];
241 extern const char kProductVersion
[];
242 extern const char kProfileDirectory
[];
243 extern const char kProfilingAtStart
[];
244 extern const char kProfilingFile
[];
245 extern const char kProfilingFlush
[];
246 extern const char kProxyAutoDetect
[];
247 extern const char kProxyBypassList
[];
248 extern const char kProxyPacUrl
[];
249 extern const char kProxyServer
[];
250 extern const char kQuicConnectionOptions
[];
251 extern const char kQuicMaxPacketLength
[];
252 extern const char kQuicVersion
[];
253 extern const char kRemoteDebuggingTargets
[];
254 extern const char kRestoreLastSession
[];
255 extern const char kRestrictIFramePermissions
[];
256 extern const char kSavePageAsMHTML
[];
257 extern const char kSbDisableAutoUpdate
[];
258 extern const char kSbDisableDownloadProtection
[];
259 extern const char kSbDisableExtensionBlacklist
[];
260 extern const char kServiceProcess
[];
261 extern const char kSilentDebuggerExtensionAPI
[];
262 extern const char kSilentLaunch
[];
263 extern const char kShowAppList
[];
264 extern const char kShowSavedCopy
[];
265 extern const char kEnableShowSavedCopyPrimary
[];
266 extern const char kEnableShowSavedCopySecondary
[];
267 extern const char kDisableShowSavedCopy
[];
268 extern const char kSimulateElevatedRecovery
[];
269 extern const char kSimulateUpgrade
[];
270 extern const char kSimulateCriticalUpdate
[];
271 extern const char kSimulateOutdated
[];
272 extern const char kSimulateOutdatedNoAU
[];
273 extern const char kSpeculativeResourcePrefetching
[];
274 extern const char kSpeculativeResourcePrefetchingDisabled
[];
275 extern const char kSpeculativeResourcePrefetchingEnabled
[];
276 extern const char kSpeculativeResourcePrefetchingLearning
[];
277 #if defined(ENABLE_SPELLCHECK)
278 #if defined(OS_ANDROID)
279 extern const char kEnableAndroidSpellChecker
[];
281 extern const char kEnableMultilingualSpellChecker
[];
282 extern const char kEnableSpellingAutoCorrect
[];
283 extern const char kEnableSpellingFeedbackFieldTrial
[];
284 extern const char kSpellingServiceFeedbackUrl
[];
285 extern const char kSpellingServiceFeedbackIntervalSeconds
[];
287 extern const char kSSLVersionMax
[];
288 extern const char kSSLVersionMin
[];
289 extern const char kSSLVersionFallbackMin
[];
290 extern const char kSSLVersionTLSv1
[];
291 extern const char kSSLVersionTLSv11
[];
292 extern const char kSSLVersionTLSv12
[];
293 extern const char kStartMaximized
[];
294 extern const char kSupervisedUserId
[];
295 extern const char kSupervisedUserSafeSites
[];
296 extern const char kSupervisedUserSyncToken
[];
297 extern const char kSyncShortInitialRetryOverride
[];
298 extern const char kSyncServiceURL
[];
299 extern const char kSyncDisableDeferredStartup
[];
300 extern const char kSyncDeferredStartupTimeoutSeconds
[];
301 extern const char kSyncEnableGetUpdateAvoidance
[];
302 extern const char kSyncEnableClearDataOnPassphraseEncryption
[];
303 extern const char kSyncDisableBackup
[];
304 extern const char kSyncDisableRollback
[];
305 extern const char kSystemLogUploadFrequency
[];
306 extern const char kTestName
[];
307 extern const char kTrustedSpdyProxy
[];
308 extern const char kTryChromeAgain
[];
309 extern const char kUnlimitedStorage
[];
310 extern const char kUnsafelyTreatInsecureOriginAsSecure
[];
311 extern const char kUseSimpleCacheBackend
[];
312 extern const char kUseSpdy
[];
313 extern const char kUserAgent
[];
314 extern const char kUserDataDir
[];
315 extern const char kV8PacMojoInProcess
[];
316 extern const char kV8PacMojoOutOfProcess
[];
317 extern const char kValidateCrx
[];
318 extern const char kVariationsServerURL
[];
319 extern const char kVersion
[];
320 extern const char kWindowPosition
[];
321 extern const char kWindowSize
[];
322 extern const char kWinHttpProxyResolver
[];
323 extern const char kWinJumplistAction
[];
325 #if defined(OS_ANDROID)
326 extern const char kAuthAndroidNegotiateAccountType
[];
327 extern const char kDisableCast
[];
328 extern const char kDisableContextualSearch
[];
329 extern const char kDisableZeroSuggest
[];
330 extern const char kEnableAccessibilityTabSwitcher
[];
331 extern const char kEnableContextualSearch
[];
332 extern const char kEnableDomDistillerButtonAnimation
[];
333 extern const char kEnableHostedMode
[];
334 extern const char kEnableReaderModeToolbarIcon
[];
335 extern const char kEnableZeroSuggestMostVisited
[];
336 extern const char kEnableZeroSuggestMostVisitedWithoutSerp
[];
337 extern const char kProgressBarAnimation
[];
338 #endif // defined(OS_ANDROID)
341 extern const char kOpenAsh
[];
344 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
345 extern const char kHelp
[];
346 extern const char kHelpShort
[];
347 extern const char kPasswordStore
[];
350 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
351 extern const char kMigrateDataDirForSxS
[];
354 #if defined(OS_MACOSX)
355 extern const char kAppsKeepChromeAliveInTests
[];
356 extern const char kHostedAppQuitNotification
[];
357 extern const char kDisableAppInfoDialogMac
[];
358 extern const char kDisableAppWindowCycling
[];
359 extern const char kDisableHostedAppShimCreation
[];
360 extern const char kDisableHostedAppsInWindows
[];
361 extern const char kDisableMacViewsNativeAppWindows
[];
362 extern const char kEnableAppInfoDialogMac
[];
363 extern const char kEnableAppWindowCycling
[];
364 extern const char kEnableHostedAppsInWindows
[];
365 extern const char kEnableMacViewsNativeAppWindows
[];
366 extern const char kEnableMacViewsDialogs
[];
367 extern const char kEnableTranslateNewUX
[];
368 extern const char kMetricsClientID
[];
369 extern const char kRelauncherProcess
[];
370 #endif // defined(OS_MACOSX)
373 extern const char kEnableCloudPrintXps
[];
374 extern const char kEnableProfileShortcutManager
[];
375 extern const char kForceDesktop
[];
376 extern const char kForceImmersive
[];
377 extern const char kHideIcons
[];
378 extern const char kNoNetworkProfileWarning
[];
379 extern const char kRelaunchShortcut
[];
380 extern const char kShowIcons
[];
381 extern const char kUninstall
[];
382 extern const char kViewerLaunchViaAppId
[];
383 extern const char kWaitForMutex
[];
384 extern const char kWindows8Search
[];
385 #endif // defined(OS_WIN)
387 #if defined(OS_WIN) || defined(OS_MACOSX)
388 extern const char kEnableTabDiscarding
[];
389 #endif // defined(OS_WIN) || defined(OS_MACOSX)
391 #if defined(ENABLE_IPC_FUZZER)
392 extern const char kIpcFuzzerTestcase
[];
395 #if defined(ENABLE_PRINT_PREVIEW) && !defined(OFFICIAL_BUILD)
396 extern const char kDebugPrint
[];
399 #if defined(ENABLE_PLUGINS)
400 extern const char kAllowNaClCrxFsAPI
[];
401 extern const char kAllowNaClFileHandleAPI
[];
402 extern const char kAllowNaClSocketAPI
[];
403 extern const char kDisablePluginPowerSaver
[];
404 extern const char kEnablePluginPowerSaver
[];
407 #if defined(ENABLE_TASK_MANAGER)
408 extern const char kDisableNewTaskManager
[];
409 #endif // defined(ENABLE_TASK_MANAGER)
411 bool AboutInSettingsEnabled();
412 bool MdDownloadsEnabled();
413 bool MdSettingsEnabled();
414 bool MediaRouterEnabled();
415 bool PdfMaterialUIEnabled();
416 bool SettingsWindowEnabled();
418 #if defined(OS_CHROMEOS)
419 bool PowerOverlayEnabled();
422 #if defined(ENABLE_TASK_MANAGER)
423 bool NewTaskManagerEnabled();
424 #endif // defined(ENABLE_TASK_MANAGER)
426 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in
427 // alphabetical order, or in one of the ifdefs (also in order in each section).
429 } // namespace switches
431 #endif // CHROME_COMMON_CHROME_SWITCHES_H_