Only grant permissions to new extensions from sync if they have the expected version
[chromium-blink-merge.git] / chrome / common / chrome_switches.h
blob18115c42a8d1f476756e9a63964201a53675615c
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"
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 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 kDisableFeatures[];
83 extern const char kDisableFieldTrialTestingConfig[];
84 extern const char kDisableJavaScriptHarmonyShipping[];
85 extern const char kDisableMaterialDesignDownloads[];
86 extern const char kDisableMinimizeOnSecondLauncherItemClick[];
87 extern const char kDisableNewBookmarkApps[];
88 extern const char kDisableNTPPopularSites[];
89 extern const char kDisableOfflineAutoReload[];
90 extern const char kDisableOfflineAutoReloadVisibleOnly[];
91 extern const char kDisableOutOfProcessPac[];
92 extern const char kDisablePasswordManagerReauthentication[];
93 extern const char kDisablePdfMaterialUI[];
94 extern const char kDisablePermissionsBubbles[];
95 extern const char kDisablePopupBlocking[];
96 extern const char kDisablePreconnect[];
97 extern const char kDisablePrintPreview[];
98 extern const char kDisablePromptOnRepost[];
99 extern const char kDisableQuic[];
100 extern const char kDisableQuicPortSelection[];
101 extern const char kDisableSavePasswordBubble[];
102 extern const char kDisableSdchPersistence[];
103 extern const char kDisableSessionCrashedBubble[];
104 extern const char kDisableSiteEngagementService[];
105 extern const char kDisableSuggestionsService[];
106 extern const char kDisableSync[];
107 extern const char kDisableSyncTypes[];
108 extern const char kDisableWebResources[];
109 extern const char kDisableZeroBrowsersOpenForTests[];
110 extern const char kDiskCacheDir[];
111 extern const char kDiskCacheSize[];
112 extern const char kDnsLogDetails[];
113 extern const char kDnsPrefetchDisable[];
114 extern const char kDumpBrowserHistograms[];
115 extern const char kEasyUnlockAppPath[];
116 extern const char kEnableAddToShelf[];
117 extern const char kEnableAppsFileAssociations[];
118 extern const char kEnableBenchmarking[];
119 extern const char kEnableBookmarkUndo[];
120 extern const char kEnableChildAccountDetection[];
121 extern const char kEnableClearBrowsingDataCounters[];
122 extern const char kEnableCloudPrintProxy[];
123 extern const char kEnableDevToolsExperiments[];
124 extern const char kEnableDeviceDiscoveryNotifications[];
125 extern const char kEnableDownloadNotification[];
126 extern const char kEnableDomainReliability[];
127 extern const char kEnableEphemeralAppsInWebstore[];
128 extern const char kEnableExperimentalHotwordHardware[];
129 extern const char kEnableExtensionActivityLogging[];
130 extern const char kEnableExtensionActivityLogTesting[];
131 extern const char kEnableFastUnload[];
132 extern const char kEnableFeatures[];
133 extern const char kEnableInsecureQuic[];
134 extern const char kEnableMaterialDesignDownloads[];
135 extern const char kEnableMaterialDesignExtensions[];
136 extern const char kEnableMaterialDesignSettings[];
137 extern const char kEnableMediaRouter[];
138 extern const char kEnableNaCl[];
139 extern const char kEnableNavigationTracing[];
140 extern const char kEnableNetBenchmarking[];
141 extern const char kEnableNewBookmarkApps[];
142 extern const char kEnableNTPPopularSites[];
143 extern const char kEnableOfflineAutoReload[];
144 extern const char kEnableOfflineAutoReloadVisibleOnly[];
145 extern const char kEnablePanels[];
146 extern const char kEnablePdfMaterialUI[];
147 extern const char kEnablePermissionsBubbles[];
148 extern const char kEnablePotentiallyAnnoyingSecurityFeatures[];
149 extern const char kEnablePowerOverlay[];
150 extern const char kEnablePrintPreviewRegisterPromos[];
151 extern const char kEnableProfiling[];
152 extern const char kEnablePushApiBackgroundMode[];
153 extern const char kDisablePushApiBackgroundMode[];
154 extern const char kEnableQuic[];
155 extern const char kEnableQuicPortSelection[];
156 extern const char kEnableSavePasswordBubble[];
157 extern const char kEnableSdchPersistence[];
158 extern const char kEnableSessionCrashedBubble[];
159 extern const char kEnableSettingsWindow[];
160 extern const char kDisableSettingsWindow[];
161 extern const char kEnableSimplifiedFullscreenUI[];
162 extern const char kDisableSimplifiedFullscreenUI[];
163 extern const char kEnableSiteEngagementService[];
164 extern const char kEnableSuggestionsService[];
165 extern const char kEnableSupervisedUserManagedBookmarksFolder[];
166 extern const char kEnableTabAudioMuting[];
167 extern const char kEnableThumbnailRetargeting[];
168 extern const char kEnableUserAlternateProtocolPorts[];
169 extern const char kEnableWebAppFrame[];
170 extern const char kEnableWebUsbNotifications[];
171 extern const char kEnableWebUsbOnAnyOrigin[];
172 extern const char kEnableWifiCredentialSync[];
173 extern const char kExtensionContentVerificationBootstrap[];
174 extern const char kExtensionContentVerificationEnforceStrict[];
175 extern const char kExtensionContentVerificationEnforce[];
176 extern const char kExtensionContentVerification[];
177 extern const char kExtensionsInstallVerification[];
178 extern const char kExtensionsNotWebstore[];
179 extern const char kExtensionsUpdateFrequency[];
180 extern const char kFastStart[];
181 extern const char kFlagSwitchesBegin[];
182 extern const char kFlagSwitchesEnd[];
183 extern const char kForceAppMode[];
184 extern const char kForceFieldTrialParams[];
185 extern const char kForceFirstRun[];
186 extern const char kForceVariationIds[];
187 extern const char kForceLocalNtp[];
188 extern const char kHistoryEnableGroupByDomain[];
189 extern const char kHomePage[];
190 extern const char kHostRules[];
191 extern const char kHostResolverRetryAttempts[];
192 extern const char kIgnoreUrlFetcherCertRequests[];
193 extern const char kIncognito[];
194 extern const char kInstallChromeApp[];
195 extern const char kInstallSupervisedUserWhitelists[];
196 extern const char kInstantProcess[];
197 extern const char kInvalidationUseGCMChannel[];
198 extern const char kIpcDumpDirectory[];
199 extern const char kJavaScriptHarmony[];
200 extern const char kKeepAliveForTest[];
201 extern const char kKioskMode[];
202 extern const char kKioskModePrinting[];
203 extern const char kLoadComponentExtension[];
204 extern const char kLoadExtension[];
205 #if !defined(OFFICIAL_BUILD)
206 extern const char kLocalNtpReload[];
207 #endif
208 extern const char kMakeDefaultBrowser[];
209 extern const char kManualEnhancedBookmarks[];
210 extern const char kManualEnhancedBookmarksOptout[];
211 extern const char kMarkNonSecureAs[];
212 extern const char kMarkNonSecureAsNeutral[];
213 extern const char kMarkNonSecureAsNonSecure[];
214 extern const char kMediaCacheSize[];
215 extern const char kMessageLoopHistogrammer[];
216 extern const char kMetricsRecordingOnly[];
217 extern const char kMonitoringDestinationID[];
218 extern const char kNetLogCaptureMode[];
219 extern const char kNoDefaultBrowserCheck[];
220 extern const char kNoDisplayingInsecureContent[];
221 extern const char kNoExperiments[];
222 extern const char kNoFirstRun[];
223 extern const char kNoProxyServer[];
224 extern const char kNoPings[];
225 extern const char kNoServiceAutorun[];
226 extern const char kNoStartupWindow[];
227 extern const char kNoSupervisedUserAcknowledgmentCheck[];
228 extern const char kNumPacThreads[];
229 extern const char kOpenInNewWindow[];
230 extern const char kOriginToForceQuicOn[];
231 extern const char kOriginalProcessStartTime[];
232 extern const char kPackExtension[];
233 extern const char kPackExtensionKey[];
234 extern const char kParentProfile[];
235 extern const char kPermissionRequestApiScope[];
236 extern const char kPermissionRequestApiUrl[];
237 extern const char kPpapiFlashPath[];
238 extern const char kPpapiFlashVersion[];
239 extern const char kPrerenderFromOmnibox[];
240 extern const char kPrerenderFromOmniboxSwitchValueAuto[];
241 extern const char kPrerenderFromOmniboxSwitchValueDisabled[];
242 extern const char kPrerenderFromOmniboxSwitchValueEnabled[];
243 extern const char kPrerenderMode[];
244 extern const char kPrerenderModeSwitchValueDisabled[];
245 extern const char kPrerenderModeSwitchValueEnabled[];
246 extern const char kPrivetIPv6Only[];
247 extern const char kProductVersion[];
248 extern const char kProfileDirectory[];
249 extern const char kProfilingAtStart[];
250 extern const char kProfilingFile[];
251 extern const char kProfilingFlush[];
252 extern const char kProxyAutoDetect[];
253 extern const char kProxyBypassList[];
254 extern const char kProxyPacUrl[];
255 extern const char kProxyServer[];
256 extern const char kQuicConnectionOptions[];
257 extern const char kQuicMaxPacketLength[];
258 extern const char kQuicVersion[];
259 extern const char kRemoteDebuggingTargets[];
260 extern const char kRestoreLastSession[];
261 extern const char kRestrictIFramePermissions[];
262 extern const char kSavePageAsMHTML[];
263 extern const char kSbDisableAutoUpdate[];
264 extern const char kSbDisableDownloadProtection[];
265 extern const char kSbDisableExtensionBlacklist[];
266 extern const char kServiceProcess[];
267 extern const char kSilentDebuggerExtensionAPI[];
268 extern const char kSilentLaunch[];
269 extern const char kShowAppList[];
270 extern const char kShowSavedCopy[];
271 extern const char kEnableShowSavedCopyPrimary[];
272 extern const char kEnableShowSavedCopySecondary[];
273 extern const char kDisableShowSavedCopy[];
274 extern const char kSimulateElevatedRecovery[];
275 extern const char kSimulateUpgrade[];
276 extern const char kSimulateCriticalUpdate[];
277 extern const char kSimulateOutdated[];
278 extern const char kSimulateOutdatedNoAU[];
279 extern const char kSpeculativeResourcePrefetching[];
280 extern const char kSpeculativeResourcePrefetchingDisabled[];
281 extern const char kSpeculativeResourcePrefetchingEnabled[];
282 extern const char kSpeculativeResourcePrefetchingLearning[];
283 #if defined(ENABLE_SPELLCHECK)
284 #if defined(OS_ANDROID)
285 extern const char kEnableAndroidSpellChecker[];
286 #endif
287 extern const char kEnableMultilingualSpellChecker[];
288 extern const char kEnableSpellingAutoCorrect[];
289 extern const char kEnableSpellingFeedbackFieldTrial[];
290 extern const char kSpellingServiceFeedbackUrl[];
291 extern const char kSpellingServiceFeedbackIntervalSeconds[];
292 #endif
293 extern const char kSSLVersionMax[];
294 extern const char kSSLVersionMin[];
295 extern const char kSSLVersionFallbackMin[];
296 extern const char kSSLVersionTLSv1[];
297 extern const char kSSLVersionTLSv11[];
298 extern const char kSSLVersionTLSv12[];
299 extern const char kStartMaximized[];
300 extern const char kSupervisedUserId[];
301 extern const char kSupervisedUserSafeSites[];
302 extern const char kSupervisedUserSyncToken[];
303 extern const char kSystemLogUploadFrequency[];
304 extern const char kTestName[];
305 extern const char kTrustedSpdyProxy[];
306 extern const char kTryChromeAgain[];
307 extern const char kUnlimitedStorage[];
308 extern const char kUnsafelyTreatInsecureOriginAsSecure[];
309 extern const char kUseSimpleCacheBackend[];
310 extern const char kUseSpdy[];
311 extern const char kUserAgent[];
312 extern const char kUserDataDir[];
313 extern const char kV8PacMojoInProcess[];
314 extern const char kV8PacMojoOutOfProcess[];
315 extern const char kValidateCrx[];
316 extern const char kVersion[];
317 extern const char kWindowPosition[];
318 extern const char kWindowSize[];
319 extern const char kWinHttpProxyResolver[];
320 extern const char kWinJumplistAction[];
322 #if defined(OS_ANDROID)
323 extern const char kAuthAndroidNegotiateAccountType[];
324 extern const char kDisableContextualSearch[];
325 extern const char kEnableAccessibilityTabSwitcher[];
326 extern const char kEnableContextualSearch[];
327 extern const char kEnableDomDistillerButtonAnimation[];
328 extern const char kEnableHostedMode[];
329 extern const char kEnableReaderModeToolbarIcon[];
330 extern const char kProgressBarAnimation[];
331 #endif // defined(OS_ANDROID)
333 #if defined(USE_ASH)
334 extern const char kOpenAsh[];
335 #endif
337 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
338 extern const char kHelp[];
339 extern const char kHelpShort[];
340 extern const char kPasswordStore[];
341 #endif
343 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
344 extern const char kMigrateDataDirForSxS[];
345 #endif
347 #if defined(OS_MACOSX)
348 extern const char kAppsKeepChromeAliveInTests[];
349 extern const char kHostedAppQuitNotification[];
350 extern const char kDisableAppInfoDialogMac[];
351 extern const char kDisableAppWindowCycling[];
352 extern const char kDisableHostedAppShimCreation[];
353 extern const char kDisableHostedAppsInWindows[];
354 extern const char kDisableMacViewsNativeAppWindows[];
355 extern const char kDisableTranslateNewUX[];
356 extern const char kEnableAppInfoDialogMac[];
357 extern const char kEnableAppWindowCycling[];
358 extern const char kEnableHostedAppsInWindows[];
359 extern const char kEnableMacViewsNativeAppWindows[];
360 extern const char kEnableMacViewsDialogs[];
361 extern const char kEnableTranslateNewUX[];
362 extern const char kMetricsClientID[];
363 extern const char kRelauncherProcess[];
364 #endif // defined(OS_MACOSX)
366 #if defined(OS_WIN)
367 extern const char kEnableCloudPrintXps[];
368 extern const char kEnableProfileShortcutManager[];
369 extern const char kForceDesktop[];
370 extern const char kForceImmersive[];
371 extern const char kHideIcons[];
372 extern const char kNoNetworkProfileWarning[];
373 extern const char kRelaunchShortcut[];
374 extern const char kShowIcons[];
375 extern const char kUninstall[];
376 extern const char kViewerLaunchViaAppId[];
377 extern const char kWaitForMutex[];
378 extern const char kWindows8Search[];
379 #endif // defined(OS_WIN)
381 #if defined(OS_WIN) || defined(OS_MACOSX)
382 extern const char kEnableTabDiscarding[];
383 #endif // defined(OS_WIN) || defined(OS_MACOSX)
385 #if defined(ENABLE_IPC_FUZZER)
386 extern const char kIpcFuzzerTestcase[];
387 #endif
389 #if defined(ENABLE_PRINT_PREVIEW) && !defined(OFFICIAL_BUILD)
390 extern const char kDebugPrint[];
391 #endif
393 #if defined(ENABLE_PLUGINS)
394 extern const char kAllowNaClCrxFsAPI[];
395 extern const char kAllowNaClFileHandleAPI[];
396 extern const char kAllowNaClSocketAPI[];
397 extern const char kDisablePluginPowerSaver[];
398 extern const char kEnablePluginPowerSaver[];
399 #endif
401 #if defined(ENABLE_TASK_MANAGER)
402 extern const char kDisableNewTaskManager[];
403 #endif // defined(ENABLE_TASK_MANAGER)
405 bool AboutInSettingsEnabled();
406 bool MdExtensionsEnabled();
407 bool MdSettingsEnabled();
408 bool MediaRouterEnabled();
409 bool PdfMaterialUIEnabled();
410 bool SettingsWindowEnabled();
412 #if defined(OS_CHROMEOS)
413 bool PowerOverlayEnabled();
414 #endif
416 #if defined(ENABLE_TASK_MANAGER)
417 bool NewTaskManagerEnabled();
418 #endif // defined(ENABLE_TASK_MANAGER)
420 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in
421 // alphabetical order, or in one of the ifdefs (also in order in each section).
423 } // namespace switches
425 #endif // CHROME_COMMON_CHROME_SWITCHES_H_