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