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// Defines all the command-line switches used by Chrome.
6
7#ifndef CHROME_COMMON_CHROME_SWITCHES_H_
8#define CHROME_COMMON_CHROME_SWITCHES_H_
9
10#include "build/build_config.h"
11
12#include "base/base_switches.h"
13#include "components/autofill/core/common/autofill_switches.h"
14#include "components/data_reduction_proxy/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"
18
19namespace switches {
20
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
25// instead.
26// -----------------------------------------------------------------------------
27
28// All switches in alphabetical order. The switches should be documented
29// alongside the definition of their values in the .cc file.
30extern const char kAllowCrossOriginAuthPrompt[];
31extern const char kAllowFileAccess[];
32extern const char kAllowHttpScreenCapture[];
33extern const char kAllowOutdatedPlugins[];
34extern const char kAllowRunningInsecureContent[];
35extern const char kAlternateProtocolProbabilityThreshold[];
36extern const char kAlwaysAuthorizePlugins[];
37extern const char kAppId[];
38extern const char kApp[];
39extern const char kAppListStartPageURL[];
40extern const char kAppsCheckoutURL[];
41extern const char kAppsGalleryDownloadURL[];
42extern const char kAppsGalleryURL[];
43extern const char kAppsGalleryUpdateURL[];
44extern const char kAppModeAuthCode[];
45extern const char kAppModeOAuth2Token[];
46extern const char kAuthExtensionPath[];
47extern const char kAuthNegotiateDelegateWhitelist[];
48extern const char kAuthSchemes[];
49extern const char kAuthServerWhitelist[];
50extern const char kAutoLaunchAtStartup[];
51extern const char kAutoSelectDesktopCaptureSource[];
52extern const char kCertificateTransparencyLog[];
53extern const char kCheckForUpdateIntervalSec[];
54extern const char kCheckCloudPrintConnectorPolicy[];
55extern const char kCipherSuiteBlacklist[];
56extern const char kCloudPrintFile[];
57extern const char kCloudPrintJobTitle[];
58extern const char kCloudPrintFileType[];
59extern const char kCloudPrintPrintTicket[];
60extern const char kCloudPrintSetupProxy[];
61extern const char kCrashOnHangThreads[];
62extern const char kCreateBrowserOnStartupForTests[];
63extern const char kCustomLauncherPage[];
64extern const char kDebugEnableFrameToggle[];
65extern const char kDebugPackedApps[];
66extern const char kDiagnostics[];
67extern const char kDiagnosticsFormat[];
68extern const char kDiagnosticsRecovery[];
69extern const char kDisableAboutInSettings[];
70extern const char kDisableAsyncDns[];
71extern const char kDisableAuthNegotiateCnameLookup[];
72extern const char kDisableBackgroundNetworking[];
73extern const char kDisableBundledPpapiFlash[];
74extern const char kDisableClientSidePhishingDetection[];
75extern const char kDisableComponentExtensionsWithBackgroundPages[];
76extern const char kDisableComponentUpdate[];
77extern const char kDisableDefaultApps[];
78extern const char kDisableDeviceDiscoveryNotifications[];
79extern const char kDisableDnsProbes[];
80extern const char kDisableDomainReliability[];
81extern const char kDisableExtensionsFileAccessCheck[];
82extern const char kDisableExtensionsHttpThrottling[];
83extern const char kDisableExtensions[];
84extern const char kDisableIPv6[];
85extern const char kDisableMinimizeOnSecondLauncherItemClick[];
86extern const char kDisableMaterialDesignNTP[];
87extern const char kDisableNTPOtherSessionsMenu[];
88extern const char kDisableOfflineAutoReload[];
89extern const char kDisableOfflineAutoReloadVisibleOnly[];
90extern const char kDisableOriginChip[];
91extern const char kDisablePasswordManagerReauthentication[];
92extern const char kDisablePeopleSearch[];
93extern const char kDisablePermissionsBubbles[];
94extern const char kDisablePopupBlocking[];
95extern const char kDisablePreconnect[];
96extern const char kDisablePrerenderLocalPredictor[];
97extern const char kDisablePrintPreview[];
98extern const char kDisablePromptOnRepost[];
99extern const char kDisableQuic[];
100extern const char kDisableQuicPacing[];
101extern const char kDisableQuicPortSelection[];
102extern const char kDisableQuicTimeBasedLossDetection[];
103extern const char kDisableSavePasswordBubble[];
104extern const char kDisableSearchButtonInOmnibox[];
105extern const char kDisableSessionCrashedBubble[];
106extern const char kDisableSpdy31[];
107extern const char kDisableSuggestionsService[];
108extern const char kDisableSync[];
109extern const char kDisableSyncSyncedNotifications[];
110extern const char kDisableSyncTypes[];
111extern const char kDisableWebResources[];
112extern const char kDisableZeroBrowsersOpenForTests[];
113extern const char kDiskCacheDir[];
114extern const char kDiskCacheSize[];
115extern const char kDnsLogDetails[];
116extern const char kDnsPrefetchDisable[];
117extern const char kDumpBrowserHistograms[];
118extern const char kEasyUnlockAppPath[];
119extern const char kEnableAppList[];
120extern const char kEnableAppsFileAssociations[];
121extern const char kEnableAsyncDns[];
122extern const char kEnableAuthNegotiatePort[];
123extern const char kEnableBenchmarking[];
124extern const char kEnableClientHints[];
125extern const char kEnableBookmarkUndo[];
126extern const char kEnableCloudPrintProxy[];
127extern const char kEnableDevToolsExperiments[];
128extern const char kEnableDeviceDiscoveryNotifications[];
129extern const char kEnableDomDistiller[];
130extern const char kEnhancedBookmarksExperiment[];
131extern const char kEnableDomainReliability[];
132extern const char kEnableEnhancedBookmarks[];
133extern const char kEnableEphemeralApps[];
134extern const char kEnableExperimentalHotwording[];
135extern const char kEnableExtensionActivityLogging[];
136extern const char kEnableExtensionActivityLogTesting[];
137extern const char kEnableFastUnload[];
138extern const char kEnableIPv6[];
139extern const char kEnableLinkableEphemeralApps[];
140extern const char kEnableNaCl[];
141extern const char kEnableNetBenchmarking[];
142extern const char kEnableMaterialDesignNTP[];
143extern const char kEnableNpnHttpOnly[];
144extern const char kEnableOfflineAutoReload[];
145extern const char kEnableOfflineAutoReloadVisibleOnly[];
146extern const char kEnableOfflineLoadStaleCache[];
147extern const char kDisableOfflineLoadStaleCache[];
148extern const char kEnableOriginChipAlways[];
149extern const char kEnableOriginChipOnSrp[];
150extern const char kEnablePanels[];
151extern const char kEnablePermissionsBubbles[];
152extern const char kEnablePluginPlaceholderShadowDom[];
153extern const char kEnablePrintPreviewRegisterPromos[];
154extern const char kEnablePrivetStorage[];
155extern const char kEnableProfiling[];
156extern const char kEnableQueryExtraction[];
157extern const char kEnableQuic[];
158extern const char kEnableQuicPacing[];
159extern const char kEnableQuicPortSelection[];
160extern const char kEnableQuicTimeBasedLossDetection[];
161extern const char kEnableReaderModeToolbarIcon[];
162extern const char kEnableResourceContentSettings[];
163extern const char kEnableSavePasswordBubble[];
164extern const char kEnableSdchOverHttps[];
165extern const char kEnableSearchButtonInOmniboxAlways[];
166extern const char kEnableSearchButtonInOmniboxForStr[];
167extern const char kEnableSearchButtonInOmniboxForStrOrIip[];
168extern const char kEnableSessionCrashedBubble[];
169extern const char kEnableSettingsWindow[];
170extern const char kEnableShowModalDialog[];
171extern const char kDisableSettingsWindow[];
172extern const char kEnableSpdy4[];
173extern const char kEnableSpellingAutoCorrect[];
174extern const char kEnableSpellingFeedbackFieldTrial[];
175extern const char kEnableSSLConnectJobWaiting[];
176extern const char kEnableStreamlinedHostedApps[];
177extern const char kEnableSuggestionsService[];
178extern const char kEnableSupervisedUserBlacklist[];
179extern const char kEnableSyncArticles[];
180extern const char kEnableSyncSyncedNotifications[];
181extern const char kEnableTabAudioMuting[];
182extern const char kEnableThumbnailRetargeting[];
183extern const char kEnableTranslateNewUX[];
184extern const char kEnableUserAlternateProtocolPorts[];
185extern const char kEnableWebSocketOverSpdy[];
186extern const char kEnableWebsiteSettingsManager[];
187extern const char kEnhancedBookmarksExperiment[];
188extern const char kExplicitlyAllowedPorts[];
189extern const char kExtensionContentVerificationBootstrap[];
190extern const char kExtensionContentVerificationEnforceStrict[];
191extern const char kExtensionContentVerificationEnforce[];
192extern const char kExtensionContentVerification[];
193extern const char kExtensionsInstallVerification[];
194extern const char kExtensionsNotWebstore[];
195extern const char kExtensionsUpdateFrequency[];
196extern const char kFakeVariationsChannel[];
197extern const char kFastStart[];
198extern const char kFlagSwitchesBegin[];
199extern const char kFlagSwitchesEnd[];
200extern const char kForceAppMode[];
201extern const char kForceFirstRun[];
202extern const char kForceVariationIds[];
203extern const char kGSSAPILibraryName[];
204extern const char kHelp[];
205extern const char kHelpShort[];
206extern const char kHideIcons[];
207extern const char kHistoryEnableGroupByDomain[];
208extern const char kHistoryWebHistoryUrl[];
209extern const char kHomePage[];
210extern const char kHostRules[];
211extern const char kHostResolverParallelism[];
212extern const char kHostResolverRetryAttempts[];
213extern const char kIgnoreUrlFetcherCertRequests[];
214extern const char kIncognito[];
215extern const char kInstallChromeApp[];
216extern const char kInstallEphemeralAppFromWebstore[];
217extern const char kInstantProcess[];
218extern const char kInvalidationUseGCMChannel[];
219extern const char kIpcFuzzerTestcase[];
220extern const char kJavaScriptHarmony[];
221extern const char kKeepAliveForTest[];
222extern const char kKioskMode[];
223extern const char kKioskModePrinting[];
224extern const char kLoadComponentExtension[];
225extern const char kLoadExtension[];
226extern const char kMakeDefaultBrowser[];
227extern const char kManualEnhancedBookmarks[];
228extern const char kManualEnhancedBookmarksOptout[];
229extern const char kMediaCacheSize[];
230extern const char kMessageLoopHistogrammer[];
231extern const char kMetricsRecordingOnly[];
232extern const char kNetLogLevel[];
233extern const char kNoDefaultBrowserCheck[];
234extern const char kNoDisplayingInsecureContent[];
235extern const char kNoEvents[];
236extern const char kNoExperiments[];
237extern const char kNoFirstRun[];
238extern const char kNoNetworkProfileWarning[];
239extern const char kNoProxyServer[];
240extern const char kNoPings[];
241extern const char kNoServiceAutorun[];
242extern const char kNoStartupWindow[];
243extern const char kNoSupervisedUserAcknowledgmentCheck[];
244extern const char kNtpAppInstallHint[];
245extern const char kNumPacThreads[];
246extern const char kOpenInNewWindow[];
247extern const char kOriginToForceQuicOn[];
248extern const char kOriginalProcessStartTime[];
249extern const char kOutOfProcessPdf[];
250extern const char kPackExtension[];
251extern const char kPackExtensionKey[];
252extern const char kParentProfile[];
253extern const char kPermissionRequestApiScope[];
254extern const char kPermissionRequestApiUrl[];
255extern const char kPlaybackMode[];
256extern const char kPpapiFlashPath[];
257extern const char kPpapiFlashVersion[];
258extern const char kPrefetchSearchResults[];
259extern const char kPrerenderFromOmnibox[];
260extern const char kPrerenderFromOmniboxSwitchValueAuto[];
261extern const char kPrerenderFromOmniboxSwitchValueDisabled[];
262extern const char kPrerenderFromOmniboxSwitchValueEnabled[];
263extern const char kPrerenderMode[];
264extern const char kPrerenderModeSwitchValueAuto[];
265extern const char kPrerenderModeSwitchValueDisabled[];
266extern const char kPrerenderModeSwitchValueEnabled[];
267extern const char kPrerenderModeSwitchValuePrefetchOnly[];
268extern const char kPrivetIPv6Only[];
269extern const char kProductVersion[];
270extern const char kProfileDirectory[];
271extern const char kProfilingAtStart[];
272extern const char kProfilingFile[];
273extern const char kProfilingFlush[];
274extern const char kProfilingOutputFile[];
275extern const char kPromoServerURL[];
276extern const char kProxyAutoDetect[];
277extern const char kProxyBypassList[];
278extern const char kProxyPacUrl[];
279extern const char kProxyServer[];
280extern const char kQuicConnectionOptions[];
281extern const char kQuicMaxPacketLength[];
282extern const char kQuicVersion[];
283extern const char kRecordMode[];
284extern const char kRememberCertErrorDecisions[];
285extern const char kResetAppListInstallState[];
286extern const char kRestoreLastSession[];
287extern const char kSavePageAsMHTML[];
288extern const char kSbDisableAutoUpdate[];
289extern const char kSbDisableDownloadProtection[];
290extern const char kSbDisableExtensionBlacklist[];
291extern const char kSbDisableSideEffectFreeWhitelist[];
292extern const char kServiceProcess[];
293extern const char kSilentDebuggerExtensionAPI[];
294extern const char kSilentLaunch[];
295extern const char kSetToken[];
296extern const char kShowAppList[];
297extern const char kShowIcons[];
298extern const char kSigninProcess[];
299extern const char kSimulateUpgrade[];
300extern const char kSimulateCriticalUpdate[];
301extern const char kSimulateOutdated[];
302extern const char kSimulateOutdatedNoAU[];
303extern const char kSpeculativeResourcePrefetching[];
304extern const char kSpeculativeResourcePrefetchingDisabled[];
305extern const char kSpeculativeResourcePrefetchingEnabled[];
306extern const char kSpeculativeResourcePrefetchingLearning[];
307extern const char kSpellingServiceFeedbackUrl[];
308extern const char kSpellingServiceFeedbackIntervalSeconds[];
309extern const char kSSLVersionMax[];
310extern const char kSSLVersionMin[];
311extern const char kSSLVersionFallbackMin[];
312extern const char kStartMaximized[];
313extern const char kSupervisedUserId[];
314extern const char kSupervisedUserSyncToken[];
315extern const char kSyncShortInitialRetryOverride[];
316extern const char kSyncServiceURL[];
317extern const char kSyncDisableDeferredStartup[];
318extern const char kSyncDeferredStartupTimeoutSeconds[];
319extern const char kSyncEnableGetUpdateAvoidance[];
320extern const char kSyncDisableBackup[];
321extern const char kSyncDisableRollback[];
322extern const char kTabCapture[];
323extern const char kTestName[];
324extern const char kTrustedSpdyProxy[];
325extern const char kTryChromeAgain[];
326extern const char kUninstall[];
327extern const char kUnlimitedStorage[];
328extern const char kUseSimpleCacheBackend[];
329extern const char kUseSpdy[];
330extern const char kUserAgent[];
331extern const char kUserDataDir[];
332extern const char kValidateCrx[];
333extern const char kVariationsServerURL[];
334extern const char kVersion[];
335extern const char kWindowPosition[];
336extern const char kWindowSize[];
337extern const char kWinHttpProxyResolver[];
338
339#if defined(ENABLE_PLUGIN_INSTALLATION)
340extern const char kPluginsMetadataServerURL[];
341#endif
342
343#if defined(OS_ANDROID)
344extern const char kDisableCast[];
345extern const char kDisableContextualSearch[];
346extern const char kDisableZeroSuggest[];
347extern const char kEnableAccessibilityTabSwitcher[];
348extern const char kEnableAppInstallAlerts[];
349extern const char kEnableContextualSearch[];
350extern const char kEnableZeroSuggestEtherSerp[];
351extern const char kEnableZeroSuggestEtherNoSerp[];
352extern const char kEnableZeroSuggestMostVisited[];
353extern const char kEnableZeroSuggestPersonalized[];
354extern const char kEnableInstantSearchClicks[];
355#endif
356
357#if defined(USE_ASH)
358extern const char kOpenAsh[];
359#endif
360
361#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
362extern const char kPasswordStore[];
363#endif
364
365#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
366extern const char kMigrateDataDirForSxS[];
367#endif
368
369#if defined(OS_MACOSX)
370extern const char kAppsKeepChromeAliveInTests[];
371extern const char kDisableSystemFullscreenForTesting[];
372extern const char kEnableFullSizeContentView[];
373extern const char kRelauncherProcess[];
374#endif
375
376#if defined(OS_WIN)
377extern const char kEnableCloudPrintXps[];
378extern const char kEnableProfileShortcutManager[];
379extern const char kForceDesktop[];
380extern const char kForceImmersive[];
381extern const char kRelaunchShortcut[];
382extern const char kViewerLaunchViaAppId[];
383extern const char kWaitForMutex[];
384extern const char kWindows8Search[];
385#endif
386
387#if defined(ENABLE_FULL_PRINTING) && !defined(OFFICIAL_BUILD)
388extern const char kDebugPrint[];
389#endif
390
391#if defined(ENABLE_PLUGINS)
392extern const char kAllowNaClCrxFsAPI[];
393extern const char kAllowNaClFileHandleAPI[];
394extern const char kAllowNaClSocketAPI[];
395#endif
396
397#ifndef NDEBUG
398extern const char kFileManagerExtensionPath[];
399#endif
400
401bool AboutInSettingsEnabled();
402bool SettingsWindowEnabled();
403
404// DON'T ADD RANDOM STUFF HERE. Put it in the main section above in
405// alphabetical order, or in one of the ifdefs (also in order in each section).
406
407}  // namespace switches
408
409#endif  // CHROME_COMMON_CHROME_SWITCHES_H_
410