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 the shared command-line switches used by code in the Chrome
6 // directory that don't have anywhere more specific to go.
7 
8 #ifndef CHROME_COMMON_CHROME_SWITCHES_H_
9 #define CHROME_COMMON_CHROME_SWITCHES_H_
10 
11 #include "build/build_config.h"
12 #include "chrome/common/buildflags.h"
13 #include "ppapi/buildflags/buildflags.h"
14 #include "printing/buildflags/buildflags.h"
15 #include "ui/base/buildflags.h"
16 
17 // Don't add more switch files here. This is linked into some places like the
18 // installer where dependencies should be limited. Instead, have files
19 // directly include your switch file.
20 
21 namespace switches {
22 
23 // -----------------------------------------------------------------------------
24 // Can't find the switch you are looking for? Try looking in
25 // media/base/media_switches.cc or ui/gl/gl_switches.cc or one of the
26 // .cc files corresponding to the *_switches.h files included above
27 // instead.
28 //
29 // Want to remove obsolete switches? Ensure that the switch isn't still in use
30 // by the Android Java code (ChromeSwitches.java.tmpl) under an aliased name.
31 // Also perform a string search to make sure the switch isn't in use only by a
32 // build-configuration, e.g. BUILDFLAG(GOOGLE_CHROME_BRANDING), that is not
33 // indexed for cross-reference or built by the CQ bots.
34 // -----------------------------------------------------------------------------
35 
36 // All switches in alphabetical order. The switches should be documented
37 // alongside the definition of their values in the .cc file.
38 extern const char kAllowCrossOriginAuthPrompt[];
39 extern const char kAllowHttpScreenCapture[];
40 extern const char kAllowProfilesOutsideUserDir[];
41 extern const char kAllowRunningInsecureContent[];
42 extern const char kAllowSilentPush[];
43 extern const char kApp[];
44 extern const char kAppId[];
45 extern const char kAppLaunchUrlForShortcutsMenuItem[];
46 extern const char kAppModeAuthCode[];
47 extern const char kAppModeOAuth2Token[];
48 extern const char kAppsGalleryDownloadURL[];
49 extern const char kAppsGalleryUpdateURL[];
50 extern const char kAppsGalleryURL[];
51 extern const char kAuthServerAllowlist[];
52 extern const char kAutoOpenDevToolsForTabs[];
53 extern const char kAutoSelectDesktopCaptureSource[];
54 extern const char kBypassAppBannerEngagementChecks[];
55 extern const char kCheckForUpdateIntervalSec[];
56 extern const char kCipherSuiteBlacklist[];
57 extern const char kCloudPrintFile[];
58 extern const char kCloudPrintFileType[];
59 extern const char kCloudPrintJobTitle[];
60 extern const char kCloudPrintPrintTicket[];
61 extern const char kCloudPrintServiceProcess[];
62 extern const char kCloudPrintSetupProxy[];
63 extern const char kCrashOnHangThreads[];
64 extern const char kCreateBrowserOnStartupForTests[];
65 extern const char kCustomDevtoolsFrontend[];
66 extern const char kDebugEnableFrameToggle[];
67 extern const char kDebugPackedApps[];
68 extern const char kDevToolsFlags[];
69 extern const char kDiagnostics[];
70 extern const char kDiagnosticsFormat[];
71 extern const char kDiagnosticsRecovery[];
72 extern const char kDisableAutoReload[];
73 extern const char kDisableBackgroundNetworking[];
74 extern const char kDisableClientSidePhishingDetection[];
75 extern const char kDisableComponentExtensionsWithBackgroundPages[];
76 extern const char kDisableComponentUpdate[];
77 extern const char kDisableDefaultApps[];
78 extern const char kDisableDomainReliability[];
79 extern const char kDisableExtensions[];
80 extern const char kDisableExtensionsExcept[];
81 extern const char kDisableExtensionsFileAccessCheck[];
82 extern const char kDisablePrintPreview[];
83 extern const char kDisablePromptOnRepost[];
84 extern const char kDisableZeroBrowsersOpenForTests[];
85 extern const char kDiskCacheDir[];
86 extern const char kDiskCacheSize[];
87 extern const char kDumpBrowserHistograms[];
88 extern const char kEnableAudioDebugRecordingsFromExtension[];
89 extern const char kEnableAutoReload[];
90 extern const char kEnableBookmarkUndo[];
91 extern const char kEnableCloudPrintProxy[];
92 extern const char kEnableCriticalPersistedTabData[];
93 extern const char kEnableDeviceDiscoveryNotifications[];
94 extern const char kEnableDomainReliability[];
95 extern const char kEnableExtensionActivityLogging[];
96 extern const char kEnableExtensionActivityLogTesting[];
97 extern const char kEnableNaCl[];
98 extern const char kEnableNetBenchmarking[];
99 extern const char kEnablePotentiallyAnnoyingSecurityFeatures[];
100 extern const char kExtensionContentVerification[];
101 extern const char kExtensionContentVerificationBootstrap[];
102 extern const char kExtensionContentVerificationEnforce[];
103 extern const char kExtensionContentVerificationEnforceStrict[];
104 extern const char kExtensionsInstallVerification[];
105 extern const char kExtensionsNotWebstore[];
106 extern const char kForceAppMode[];
107 extern const char kForceFirstRun[];
108 extern const char kForceStackedTabStripLayout[];
109 extern const char kHomePage[];
110 extern const char kIncognito[];
111 extern const char kInstallAutogeneratedTheme[];
112 extern const char kInstallChromeApp[];
113 extern const char kInstallSupervisedUserAllowlists[];
114 extern const char kInstantProcess[];
115 extern const char kKeepAliveForTest[];
116 extern const char kKioskMode[];
117 extern const char kKioskModePrinting[];
118 extern const char kLaunchInProcessSimpleBrowserSwitch[];
119 extern const char kLaunchSimpleBrowserSwitch[];
120 extern const char kLoadMediaRouterComponentExtension[];
121 extern const char kMakeDefaultBrowser[];
122 extern const char kMonitoringDestinationID[];
123 extern const char kNativeMessagingConnectHost[];
124 extern const char kNativeMessagingConnectExtension[];
125 extern const char kNativeMessagingConnectId[];
126 extern const char kNoDefaultBrowserCheck[];
127 extern const char kNoExperiments[];
128 extern const char kNoFirstRun[];
129 extern const char kNoPings[];
130 extern const char kNoProxyServer[];
131 extern const char kNoServiceAutorun[];
132 extern const char kNoStartupWindow[];
133 extern const char kOnTheFlyMhtmlHashComputation[];
134 extern const char kOpenInNewWindow[];
135 extern const char kPackExtension[];
136 extern const char kPackExtensionKey[];
137 extern const char kPermissionRequestApiScope[];
138 extern const char kPermissionRequestApiUrl[];
139 extern const char kPredictionServiceMockLikelihood[];
140 extern const char kPrivetIPv6Only[];
141 extern const char kProductVersion[];
142 extern const char kProfileDirectory[];
143 extern const char kProxyAutoDetect[];
144 extern const char kProxyBypassList[];
145 extern const char kProxyPacUrl[];
146 extern const char kRemoteDebuggingTargets[];
147 extern const char kRestoreLastSession[];
148 extern const char kSavePageAsMHTML[];
149 extern const char kShortReportingDelay[];
150 extern const char kSilentDebuggerExtensionAPI[];
151 extern const char kSilentLaunch[];
152 extern const char kSimulateCriticalUpdate[];
153 extern const char kSimulateElevatedRecovery[];
154 extern const char kSimulateOutdated[];
155 extern const char kSimulateOutdatedNoAU[];
156 extern const char kSimulateUpgrade[];
157 extern const char kSSLVersionMax[];
158 extern const char kSSLVersionMin[];
159 extern const char kSSLVersionTLSv1[];
160 extern const char kSSLVersionTLSv11[];
161 extern const char kSSLVersionTLSv12[];
162 extern const char kSSLVersionTLSv13[];
163 extern const char kStartMaximized[];
164 extern const char kStartStackProfiler[];
165 extern const char kStartStackProfilerBrowserTest[];
166 extern const char kStoragePressureNotificationInterval[];
167 extern const char kSupervisedUserId[];
168 extern const char kSystemLogUploadFrequency[];
169 extern const char kTestName[];
170 extern const char kTrustedDownloadSources[];
171 extern const char kTryChromeAgain[];
172 extern const char kUnlimitedStorage[];
173 extern const char kUserAgent[];
174 extern const char kUserDataDir[];
175 extern const char kValidateCrx[];
176 extern const char kVersion[];
177 extern const char kWebRtcRemoteEventLogProactivePruningDelta[];
178 extern const char kWebRtcRemoteEventLogUploadDelayMs[];
179 extern const char kWebRtcRemoteEventLogUploadNoSuppression[];
180 extern const char kWindowPosition[];
181 extern const char kWindowSize[];
182 extern const char kWindowWorkspace[];
183 extern const char kWinHttpProxyResolver[];
184 extern const char kWinJumplistAction[];
185 
186 #if defined(OS_ANDROID)
187 extern const char kAuthAndroidNegotiateAccountType[];
188 extern const char kEnableAccessibilityTabSwitcher[];
189 extern const char kEnableHungRendererInfoBar[];
190 extern const char kForceDeviceOwnership[];
191 extern const char kForceEnableNightMode[];
192 extern const char kForceShowUpdateMenuBadge[];
193 extern const char kForceShowUpdateMenuItemCustomSummary[];
194 extern const char kForceUpdateMenuType[];
195 extern const char kMarketUrlForTesting[];
196 extern const char kWebApkServerUrl[];
197 #endif  // defined(OS_ANDROID)
198 
199 #if defined(OS_CHROMEOS)
200 extern const char kCroshCommand[];
201 extern const char kDisableLoggingRedirect[];
202 extern const char kDisableLoginScreenApps[];
203 extern const char kShortMergeSessionTimeoutForTest[];
204 extern const char kSchedulerConfiguration[];
205 extern const char kSchedulerConfigurationConservative[];
206 extern const char kSchedulerConfigurationPerformance[];
207 extern const char kSchedulerConfigurationDefault[];
208 #endif  // defined(OS_CHROMEOS)
209 
210 #if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_CHROMEOS)
211 extern const char kHelp[];
212 extern const char kHelpShort[];
213 extern const char kPasswordStore[];
214 extern const char kEnableEncryptionSelection[];
215 extern const char kWmClass[];
216 #endif
217 
218 #if defined(OS_MAC)
219 extern const char kAppsKeepChromeAliveInTests[];
220 extern const char kDisableHostedAppShimCreation[];
221 extern const char kEnableUserMetrics[];
222 extern const char kHostedAppQuitNotification[];
223 extern const char kMetricsClientID[];
224 extern const char kRelauncherProcess[];
225 extern const char kRelauncherProcessDMGDevice[];
226 extern const char kMakeChromeDefault[];
227 #endif  // defined(OS_MAC)
228 
229 #if defined(OS_WIN)
230 extern const char kDisableWindows10CustomTitlebar[];
231 extern const char kEnableProfileShortcutManager[];
232 extern const char kHideIcons[];
233 extern const char kNoNetworkProfileWarning[];
234 extern const char kNotificationInlineReply[];
235 extern const char kNotificationLaunchId[];
236 extern const char kPrefetchArgumentBrowserBackground[];
237 extern const char kPwaLauncherVersion[];
238 extern const char kShowIcons[];
239 extern const char kUninstall[];
240 #endif  // defined(OS_WIN)
241 
242 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) && !defined(OFFICIAL_BUILD)
243 extern const char kDebugPrint[];
244 #endif
245 
246 #if BUILDFLAG(ENABLE_PLUGINS)
247 extern const char kAllowNaClCrxFsAPI[];
248 extern const char kAllowNaClFileHandleAPI[];
249 extern const char kAllowNaClSocketAPI[];
250 #endif
251 
252 #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
253     defined(OS_WIN)
254 extern const char kEnableNewAppMenuIcon[];
255 extern const char kGuest[];
256 #endif
257 
258 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
259 extern const char kUseSystemDefaultPrinter[];
260 #endif
261 
262 #if BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
263 extern const char kUserDataMigrated[];
264 #endif
265 
266 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in
267 // alphabetical order, or in one of the ifdefs (also in order in each section).
268 
269 }  // namespace switches
270 
271 #endif  // CHROME_COMMON_CHROME_SWITCHES_H_
272