Turning WebGL and the accelerated compositor on by default (linux and windows only...
[chromium-blink-merge.git] / chrome / common / chrome_switches.cc
blob117de59a5293c51c2a820174d2e6b8a067da2958
1 // Copyright (c) 2010 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 #include "chrome/common/chrome_switches.h"
7 #include "base/base_switches.h"
8 #include "base/command_line.h"
10 namespace switches {
12 // -----------------------------------------------------------------------------
13 // Can't find the switch you are looking for? try looking in
14 // base/base_switches.cc instead.
15 // -----------------------------------------------------------------------------
17 // Activate (make foreground) myself on launch. Helpful when Chrome
18 // is launched on the command line (e.g. by Selenium). Only needed on Mac.
19 const char kActivateOnLaunch[] = "activate-on-launch";
21 // By default, file:// URIs cannot read other file:// URIs. This is an
22 // override for developers who need the old behavior for testing.
23 const char kAllowFileAccessFromFiles[] = "allow-file-access-from-files";
25 // Disable checking of the renegotiation extension and any future checks over
26 // and above what a "traditional" SSL stack might do. This has been requested
27 // in order to support some web development tools that intercept SSL
28 // connections.
29 const char kAllowSSLMITMProxies[] = "allow-ssl-mitm-proxies";
31 // Allows debugging of sandboxed processes (see zygote_main_linux.cc).
32 const char kAllowSandboxDebugging[] = "allow-sandbox-debugging";
34 // Allows injecting extensions and user scripts on the extensions
35 // gallery site. Normally prevented for security reasons, but can be
36 // useful for automation testing of the gallery.
37 const char kAllowScriptingGallery[] = "allow-scripting-gallery";
39 // Enable web inspector for all windows, even if they're part of the browser.
40 // Allows us to use our dev tools to debug browser windows itself.
41 const char kAlwaysEnableDevTools[] = "always-enable-dev-tools";
43 // Specifies that the associated value should be launched in "application" mode.
44 const char kApp[] = "app";
46 // Specifies that the extension-app with the specified id should be launched
47 // according to its configuration.
48 const char kAppId[] = "app-id";
50 // Lacks meaning with out kApp. Causes the specified app to be launched in an
51 // panel window.
52 const char kAppLaunchAsPanel[] = "app-launch-as-panel";
54 // Makes the app launcher popup when a new tab is created.
55 const char kAppsPanel[] = "apps-panel";
57 // The URL to use for the gallery link in the app launcher.
58 const char kAppsGalleryURL[] = "apps-gallery-url";
60 // Disable throbber for extension apps.
61 const char kAppsNoThrob[] = "apps-no-throb";
63 // Whether to display the "Debug" link for app launch behavior.
64 const char kAppsDebug[] = "apps-debug";
66 // Whitelist of servers that Negotiate will generate delegated Kerberos tickets
67 // for.
68 const char kAuthNegotiateDelegateWhitelist[] =
69 "auth-negotiate-delegate-whitelist";
71 // HTTP authentication schemes to enable. This is a comma separated list
72 // of authentication schemes (basic, digest, ntlm, and negotiate). By default
73 // all schemes are enabled. The primary use of this command line flag is to help
74 // triage autentication-related issues reported by end-users.
75 const char kAuthSchemes[] = "auth-schemes";
77 // Whitelist of servers which NTLM and Negotiate can automatically authenticate
78 // with using the default credentials of the currently logged in user.
79 const char kAuthServerWhitelist[] = "auth-server-whitelist";
81 // The value of this switch tells the app to listen for and broadcast
82 // automation-related messages on IPC channel with the given ID.
83 const char kAutomationClientChannelID[] = "automation-channel";
85 // Block non-sandboxed plugins.
86 const char kBlockNonSandboxedPlugins[] = "block-nonsandboxed-plugins";
88 // Causes the browser process to throw an assertion on startup.
89 const char kBrowserAssertTest[] = "assert-test";
91 // Causes the browser process to crash on startup.
92 const char kBrowserCrashTest[] = "crash-test";
94 // Path to the exe to run for the renderer and plugin subprocesses.
95 const char kBrowserSubprocessPath[] = "browser-subprocess-path";
97 // Run Chrome in Chrome Frame mode. This means that Chrome expects to be run
98 // as a dependent process of the Chrome Frame plugin.
99 const char kChromeFrame[] = "chrome-frame";
101 // The unique id to be used for this cloud print proxy instance.
102 const char kCloudPrintProxyId[] = "cloud-print-proxy-id";
104 // The URL of the cloud print service to use, overrides any value
105 // stored in preferences, and the default. Only used if the cloud
106 // print service has been enabled (see enable-cloud-print).
107 const char kCloudPrintServiceURL[] = "cloud-print-service";
109 // The Country we should use. This is normally obtained from the operating
110 // system during first run and cached in the preferences afterwards. This is a
111 // string value, the 2 letter code from ISO 3166-1.
112 const char kCountry[] = "country";
114 // Enables support to debug printing subsystem.
115 const char kDebugPrint[] = "debug-print";
117 // Triggers a pletora of diagnostic modes.
118 const char kDiagnostics[] = "diagnostics";
120 // Disables accelerated compositing.
121 const char kDisableAcceleratedCompositing[] =
122 "disable-accelerated-compositing";
124 // Disables the alternate window station for the renderer.
125 const char kDisableAltWinstation[] = "disable-winsta";
127 // Disable the ApplicationCache.
128 const char kDisableApplicationCache[] = "disable-application-cache";
130 // Disable extension apps.
131 const char kDisableApps[] = "disable-apps";
133 // Replaces the audio IPC layer for <audio> and <video> with a mock audio
134 // device, useful when using remote desktop or machines without sound cards.
135 // This is temporary until we fix the underlying problem.
137 // TODO(scherkus): remove --disable-audio when we have a proper fallback
138 // mechanism.
139 const char kDisableAudio[] = "disable-audio";
141 // Disable CNAME lookup of the host when generating the Kerberos SPN for a
142 // Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN
143 // for more background.
144 const char kDisableAuthNegotiateCnameLookup[] =
145 "disable-auth-negotiate-cname-lookup";
147 // Disable limits on the number of backing stores. Can prevent blinking for
148 // users with many windows/tabs and lots of memory.
149 const char kDisableBackingStoreLimit[] = "disable-backing-store-limit";
151 // Disable support for cached byte-ranges.
152 const char kDisableByteRangeSupport[] = "disable-byte-range-support";
154 // Disable click-to-play for blocked plug-ins.
155 const char kDisableClickToPlay[] = "disable-click-to-play";
157 // Disables establishing a backup TCP connection if a specified timeout is
158 // exceeded.
159 const char kDisableConnectBackupJobs[] = "disable-connect-backup-jobs";
161 // Disable requests that webkit labels TargetIsPrefetch. As of
162 // writing only <link rel=prefetch...> but also eventually
163 // Link: headers.
164 const char kDisableContentPrefetch[] = "disable-content-prefetch";
166 // Disables the custom JumpList on Windows 7.
167 const char kDisableCustomJumpList[] = "disable-custom-jumplist";
169 // Disables HTML5 DB support.
170 const char kDisableDatabases[] = "disable-databases";
172 // Disables desktop notifications (default enabled on windows).
173 const char kDisableDesktopNotifications[] = "disable-desktop-notifications";
175 // Browser flag to disable the web inspector for all renderers.
176 const char kDisableDevTools[] = "disable-dev-tools";
178 // Disables device orientation events.
179 const char kDisableDeviceOrientation[] = "disable-device-orientation";
181 // Disable experimental WebGL support.
182 const char kDisableExperimentalWebGL[] = "disable-webgl";
184 // Disable extensions.
185 const char kDisableExtensions[] = "disable-extensions";
187 // Disable checking for user opt-in for extensions that want to inject script
188 // into file URLs (ie, always allow it). This is used during automated testing.
189 const char kDisableExtensionsFileAccessCheck[] =
190 "disable-extensions-file-access-check";
192 // Suppresses support for the Geolocation javascript API.
193 const char kDisableGeolocation[] = "disable-geolocation";
195 // Disable the GLSL translator.
196 const char kDisableGLSLTranslator[] = "disable-glsl-translator";
198 // Suppresses hang monitor dialogs in renderer processes.
199 const char kDisableHangMonitor[] = "disable-hang-monitor";
201 // Disable the internal Flash Player.
202 const char kDisableInternalFlash[] = "disable-internal-flash";
204 // Don't resolve hostnames to IPv6 addresses. This can be used when debugging
205 // issues relating to IPv6, but shouldn't otherwise be needed. Be sure to
206 // file bugs if something isn't working properly in the presence of IPv6.
207 // This flag can be overidden by the "enable-ipv6" flag.
208 const char kDisableIPv6[] = "disable-ipv6";
210 // Disable speculative TCP/IP preconnection.
211 const char kDisablePreconnect[] = "disable-preconnect";
213 // Don't execute JavaScript (browser JS like the new tab page still runs).
214 const char kDisableJavaScript[] = "disable-javascript";
216 // Prevent Java from running.
217 const char kDisableJava[] = "disable-java";
219 // Disable LocalStorage.
220 const char kDisableLocalStorage[] = "disable-local-storage";
222 // Force logging to be disabled. Logging is enabled by default in debug
223 // builds.
224 const char kDisableLogging[] = "disable-logging";
226 // Whether we should prevent the new tab page from showing the first run
227 // notification.
228 const char kDisableNewTabFirstRun[] = "disable-new-tab-first-run";
230 // Prevent outdated plugins from running.
231 const char kDisableOutdatedPlugins[] = "disable-outdated-plugins";
233 // Prevent plugins from running.
234 const char kDisablePlugins[] = "disable-plugins";
236 // Disable pop-up blocking.
237 const char kDisablePopupBlocking[] = "disable-popup-blocking";
239 // Normally when the user attempts to navigate to a page that was the result of
240 // a post we prompt to make sure they want to. This switch may be used to
241 // disable that check. This switch is used during automated testing.
242 const char kDisablePromptOnRepost[] = "disable-prompt-on-repost";
244 // Disable remote web font support. SVG font should always work whether
245 // this option is specified or not.
246 const char kDisableRemoteFonts[] = "disable-remote-fonts";
248 // Turns off the accessibility in the renderer.
249 const char kDisableRendererAccessibility[] = "disable-renderer-accessibility";
251 // Prevents the URLs of BackgroundContents from being remembered and re-launched
252 // when the browser restarts.
253 const char kDisableRestoreBackgroundContents[] =
254 "disable-restore-background-contents";
256 // Disable session storage.
257 const char kDisableSessionStorage[] = "disable-session-storage";
259 // Enable shared workers. Functionality not yet complete.
260 const char kDisableSharedWorkers[] = "disable-shared-workers";
262 // Disable site-specific tailoring to compatibility issues in WebKit.
263 const char kDisableSiteSpecificQuirks[] = "disable-site-specific-quirks";
265 // Disables speech input.
266 const char kDisableSpeechInput[] = "disable-speech-input";
268 // Disable False Start in SSL and TLS connections.
269 const char kDisableSSLFalseStart[] = "disable-ssl-false-start";
271 // Disable syncing browser data to a Google Account.
272 const char kDisableSync[] = "disable-sync";
274 // Disable syncing of apps.
275 const char kDisableSyncApps[] = "disable-sync-apps";
277 // Disable syncing of autofill.
278 const char kDisableSyncAutofill[] = "disable-sync-autofill";
280 // Disable syncing of bookmarks.
281 const char kDisableSyncBookmarks[] = "disable-sync-bookmarks";
283 // Disable syncing of extensions.
284 const char kDisableSyncExtensions[] = "disable-sync-extensions";
286 // Disable syncing of passwords.
287 const char kDisableSyncPasswords[] = "disable-sync-passwords";
289 // Disable syncing of preferences.
290 const char kDisableSyncPreferences[] = "disable-sync-preferences";
292 // Disable syncing of sessions.
293 const char kDisableSyncSessions[] = "disable-sync-sessions";
295 // Disable syncing of themes.
296 const char kDisableSyncThemes[] = "disable-sync-themes";
298 // Disable syncing of typed urls.
299 const char kDisableSyncTypedUrls[] = "disable-sync-typed-urls";
301 // TabCloseableStateWatcher disallows closing of tabs and browsers under certain
302 // situations on ChromeOS. Some tests expect tabs or browsers to close, so we
303 // need a switch to disable the watcher.
304 const char kDisableTabCloseableStateWatcher[] =
305 "disable-tab-closeable-state-watcher";
307 // Allow disabling of translate from the command line to assist with
308 // automated browser testing (e.g. Selenium/WebDriver). Normal
309 // browser users should disable translate with the preference.
310 const char kDisableTranslate[] = "disable-translate";
312 // Enables the backend service for web resources, used in the new tab page for
313 // loading tips and recommendations from a JSON feed.
314 const char kDisableWebResources[] = "disable-web-resources";
316 // Don't enforce the same-origin policy. (Used by people testing their sites.)
317 const char kDisableWebSecurity[] = "disable-web-security";
319 // Disable Web Sockets support.
320 const char kDisableWebSockets[] = "disable-web-sockets";
322 // Use a specific disk cache location, rather than one derived from the
323 // UserDatadir.
324 const char kDiskCacheDir[] = "disk-cache-dir";
326 // Forces the maximum disk space to be used by the disk cache, in bytes.
327 const char kDiskCacheSize[] = "disk-cache-size";
329 const char kDnsLogDetails[] = "dns-log-details";
331 // Disables prefetching of DNS information.
332 const char kDnsPrefetchDisable[] = "dns-prefetch-disable";
334 // Specifies if the dom_automation_controller_ needs to be bound in the
335 // renderer. This binding happens on per-frame basis and hence can potentially
336 // be a performance bottleneck. One should only enable it when automating
337 // dom based tests.
338 const char kDomAutomationController[] = "dom-automation";
340 // Dump any accumualted histograms to the log when browser terminates (requires
341 // logging to be enabled to really do anything). Used by developers and test
342 // scripts.
343 const char kDumpHistogramsOnExit[] = "dump-histograms-on-exit";
345 // Enable displaying net log events on the command line.
346 extern const char kLogNetLog[] = "log-net-log";
348 // Enable gpu-accelerated compositing.
349 // TODO(vangelis): Remove the flag once accelerated compositing is enabled by
350 // default on all platforms.
351 const char kEnableAcceleratedCompositing[] = "enable-accelerated-compositing";
353 // Enable gpu-accelerated 2d canvas.
354 const char kEnableAccelerated2dCanvas[] = "enable-accelerated-2d-canvas";
356 // Enables AeroPeek for each tab. (This switch only works on Windows 7).
357 const char kEnableAeroPeekTabs[] = "enable-aero-peek-tabs";
359 // Enable the inclusion of non-standard ports when generating the Kerberos SPN
360 // in response to a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN
361 // for more background.
362 const char kEnableAuthNegotiatePort[] = "enable-auth-negotiate-port";
364 // Enable background mode (background apps will keep chrome running in the
365 // background and allow chrome to launch on startup).
366 const char kEnableBackgroundMode[] = "enable-background-mode";
368 // Enables the benchmarking extensions.
369 const char kEnableBenchmarking[] = "enable-benchmarking";
371 // This applies only when the process type is "service". Enables the
372 // Chromoting Host Process within the service process.
373 const char kEnableRemoting[] = "enable-remoting";
375 // This applies only when the process type is "service". Enables the
376 // Cloud Print Proxy component within the service process.
377 const char kEnableCloudPrintProxy[] = "enable-cloud-print-proxy";
379 // Enables the Cloud Print dialog hosting code.
380 const char kEnableCloudPrint[] = "enable-cloud-print";
382 // Enables establishing a backup TCP connection if a specified timeout is
383 // exceeded.
384 const char kEnableConnectBackupJobs[] = "enable-connect-backup-jobs";
386 // Enable requests that webkit labels TargetIsPrefetch. As of
387 // writing only <link rel=prefetch...> but also eventually
388 // Link: headers.
389 const char kEnableContentPrefetch[] = "enable-content-prefetch";
391 // Enables the cookie prompt.
392 const char kEnableCookiePrompt[] = "enable-cookie-prompt";
394 // Enables device motion events.
395 const char kEnableDeviceMotion[] = "enable-device-motion";
397 const char kEnableDNSSECCerts[] = "enable-dnssec-certs";
399 // Enables extension APIs that are in development.
400 const char kEnableExperimentalExtensionApis[] =
401 "enable-experimental-extension-apis";
403 // Enable experimental timeline API.
404 const char kEnableExtensionTimelineApi[] = "enable-extension-timeline-api";
406 // Enable the fastback page cache.
407 const char kEnableFastback[] = "enable-fastback";
409 // By default, cookies are not allowed on file://. They are needed for
410 // testing, for example page cycler and layout tests. See bug 1157243.
411 const char kEnableFileCookies[] = "enable-file-cookies";
413 // Enable the FileSystem API.
414 const char kEnableFileSystem[] = "enable-file-system";
416 // Enable the Indexed Database API.
417 const char kEnableIndexedDatabase[] = "enable-indexed-database";
419 // Use the InMemoryURLIndex to back the HistoryURLProvider for autocomplete
420 // results. If not set, defaults to using the InMemoryDatabase.
421 const char kEnableInMemoryURLIndex[] = "enable-in-memory-url-index";
423 // Enable IPv6 support, even if probes suggest that it may not be fully
424 // supported. Some probes may require internet connections, and this flag will
425 // allow support independent of application testing.
426 // This flag overrides "disable-ipv6" which appears elswhere in this file.
427 const char kEnableIPv6[] = "enable-ipv6";
429 // Enable the GPU plugin and Pepper 3D rendering.
430 const char kEnableGPUPlugin[] = "enable-gpu-plugin";
432 // Enable experimental GPU rendering for backing store and video.
433 const char kEnableGPURendering[] = "enable-gpu-rendering";
435 // Force logging to be enabled. Logging is disabled by default in release
436 // builds.
437 const char kEnableLogging[] = "enable-logging";
439 // Is match preview enabled?
440 const char kEnableMatchPreview[] = "enable-match-preview";
442 // Allows reporting memory info (JS heap size) to page.
443 const char kEnableMemoryInfo[] = "enable-memory-info";
445 // On Windows, converts the page to the currently-installed monitor profile.
446 // This does NOT enable color management for images. The source is still
447 // assumed to be sRGB.
448 const char kEnableMonitorProfile[] = "enable-monitor-profile";
450 // Runs the Native Client inside the renderer process and enables GPU plugin
451 // (internally adds kInternalNaCl and lEnableGpuPlugin to the command line).
452 const char kEnableNaCl[] = "enable-nacl";
454 // Enables debugging via RSP over a socket.
455 const char kEnableNaClDebug[] = "enable-nacl-debug";
457 // Enable Native Web Worker support.
458 const char kEnableNativeWebWorkers[] = "enable-native-web-workers";
460 // Enables the Page Info SSL dialog as a bubble, rather than a separate window.
461 const char kEnableNewPageInfoBubble[] = "enable-new-page-info-bubble";
463 // Enable content settings based on host *and* plug-in.
464 const char kEnableResourceContentSettings[] =
465 "enable-resource-content-settings";
467 // Enable speculative TCP/IP preconnection.
468 const char kEnablePreconnect[] = "enable-preconnect";
470 // Enable caching of pre-parsed JS script data. See http://crbug.com/32407.
471 const char kEnablePreparsedJsCaching[] = "enable-preparsed-js-caching";
473 // Enable print preview (work in progress).
474 const char kEnablePrintPreview[] = "enable-print-preview";
476 // Enable the IsSearchProviderInstalled and InstallSearchProvider with an extra
477 // parameter to indicate if the provider should be the default.
478 const char kEnableSearchProviderApiV2[] = "enable-search-provider-api-v2";
480 // Enables speech input.
481 const char kEnableSpeechInput[] = "enable-speech-input";
483 // Enables StatsTable, logging statistics to a global named shared memory table.
484 const char kEnableStatsTable[] = "enable-stats-table";
486 // Enable syncing browser data to a Google Account.
487 const char kEnableSync[] = "enable-sync";
489 // Enable syncing browser apps.
490 const char kEnableSyncApps[] = "enable-sync-apps";
492 // Enable syncing browser autofill.
493 const char kEnableSyncAutofill[] = "enable-sync-autofill";
495 // Enable syncing browser bookmarks.
496 const char kEnableSyncBookmarks[] = "enable-sync-bookmarks";
498 // Enable syncing browser extensions.
499 const char kEnableSyncExtensions[] = "enable-sync-extensions";
501 // Enable syncing browser passwords.
502 const char kEnableSyncPasswords[] = "enable-sync-passwords";
504 // Enable syncing browser preferences.
505 const char kEnableSyncPreferences[] = "enable-sync-preferences";
507 // Enable syncing browser sessions.
508 const char kEnableSyncSessions[] = "enable-sync-sessions";
510 // Enable syncing browser themes.
511 const char kEnableSyncThemes[] = "enable-sync-themes";
513 // Enable syncing browser typed urls.
514 const char kEnableSyncTypedUrls[] = "enable-sync-typed-urls";
516 // Enable tabbed options, ie: dom-ui version of options window.
517 const char kEnableTabbedOptions[] = "enable-tabbed-options";
519 // Whether or not the touch events API is exposed.
520 const char kEnableTouch[] = "enable-touch";
522 // Enables the option to show tabs as a vertical stack down the side of the
523 // browser window.
524 const char kEnableVerticalTabs[] = "enable-vertical-tabs";
526 // Enables support for fullscreen video. Current implementation is
527 // incomplete and this flag is used for development and testing.
528 const char kEnableVideoFullscreen[] = "enable-video-fullscreen";
530 // Enables video layering where video is rendered as a separate layer outside
531 // of the backing store.
532 const char kEnableVideoLayering[] = "enable-video-layering";
534 // Enables video logging where video elements log playback performance data to
535 // the debug log.
536 const char kEnableVideoLogging[] = "enable-video-logging";
538 // Spawn threads to watch for excessive delays in specified message loops.
539 // User should set breakpoints on Alarm() to examine problematic thread.
540 // Usage: -enable-watchdog=[ui][io]
541 // Order of the listed sub-arguments does not matter.
542 const char kEnableWatchdog[] = "enable-watchdog";
544 // Enables Windows 7 Location Platform provider for geolocation API.
545 const char kEnableWin7Location[] = "enable-win7-location";
547 // Disable WebKit's XSSAuditor. The XSSAuditor mitigates reflective XSS.
548 const char kEnableXSSAuditor[] = "enable-xss-auditor";
550 // Enables experimental features for Spellchecker. Right now, the first
551 // experimental feature is auto spell correct, which corrects words which are
552 // misppelled by typing the word with two consecutive letters swapped. The
553 // features that will be added next are:
554 // 1 - Allow multiple spellcheckers to work simultaneously.
555 // 2 - Allow automatic detection of spell check language.
556 // TODO(sidchat): Implement the above fetaures to work under this flag.
557 const char kExperimentalSpellcheckerFeatures[] =
558 "experimental-spellchecker-features";
560 // Explicitly allow additional ports using a comma separated list of port
561 // numbers.
562 const char kExplicitlyAllowedPorts[] = "explicitly-allowed-ports";
564 // Causes the process to run as an extension subprocess.
565 const char kExtensionProcess[] = "extension";
567 // Frequency in seconds for Extensions auto-update.
568 const char kExtensionsUpdateFrequency[] = "extensions-update-frequency";
570 // Alternative feedback server to use when submitting user feedback
571 const char kFeedbackServer[] = "feedback-server";
573 // The file descriptor limit is set to the value of this switch, subject to the
574 // OS hard limits. Useful for testing that file descriptor exhaustion is handled
575 // gracefully.
576 const char kFileDescriptorLimit[] = "file-descriptor-limit";
578 // Display the First Run experience when the browser is started, regardless of
579 // whether or not it's actually the first run.
580 const char kFirstRun[] = "first-run";
582 // Some field tests may rendomized in the browser, and the randomly selected
583 // outcome needs to be propogated to the renderer. For instance, this is used
584 // to modify histograms recorded in the renderer, or to get the renderer to
585 // also set of its state (initialize, or not initialize components) to match the
586 // experiment(s).
587 // The argument is a string-ized list of experiment names, and the associated
588 // value that was randomly selected. In the recent implementetaion, the
589 // persistent representation generated by field_trial.cc and later decoded, is a
590 // list of name and value pairs, separated by slashes. See field trial.cc for
591 // current details.
592 const char kForceFieldTestNameAndValue[] = "force-fieldtest";
594 // Extra command line options for launching the GPU process (normally used
595 // for debugging). Use like renderer-cmd-prefix.
596 const char kGpuLauncher[] = "gpu-launcher";
598 // Makes this process a GPU sub-process.
599 const char kGpuProcess[] = "gpu-process";
601 // Causes the GPU process to display a dialog on launch.
602 const char kGpuStartupDialog[] = "gpu-startup-dialog";
604 // These flags show the man page on Linux. They are equivalent to each
605 // other.
606 const char kHelp[] = "help";
607 const char kHelpShort[] = "h";
609 // Make Windows happy by allowing it to show "Enable access to this program"
610 // checkbox in Add/Remove Programs->Set Program Access and Defaults. This
611 // only shows an error box because the only way to hide Chrome is by
612 // uninstalling it.
613 const char kHideIcons[] = "hide-icons";
615 // The value of this switch specifies which page will be displayed
616 // in newly-opened tabs. We need this for testing purposes so
617 // that the UI tests don't depend on what comes up for http://google.com.
618 const char kHomePage[] = "homepage";
620 // Comma separated list of rules that control how hostnames are mapped.
622 // For example:
623 // "MAP * 127.0.0.1" --> Forces all hostnames to be mapped to 127.0.0.1
624 // "MAP *.google.com proxy" --> Forces all google.com subdomains to be
625 // resolved to "proxy".
626 // "MAP test.com [::1]:77 --> Forces "test.com" to resolve to IPv6 loopback.
627 // Will also force the port of the resulting
628 // socket address to be 77.
629 // "MAP * baz, EXCLUDE www.google.com" --> Remaps everything to "baz",
630 // except for "www.google.com".
632 // These mappings apply to the endpoint host in a URLRequest (the TCP connect
633 // and host resolver in a direct connection, and the CONNECT in an http proxy
634 // connection, and the endpoint host in a SOCKS proxy connection).
635 const char kHostRules[] = "host-rules";
637 // The maximum number of concurrent host resolve requests (i.e. DNS) to allow.
638 const char kHostResolverParallelism[] = "host-resolver-parallelism";
640 // These mappings only apply to the host resolver.
641 const char kHostResolverRules[] = "host-resolver-rules";
643 // Perform importing from another browser. The value associated with this
644 // setting encodes the target browser and what items to import.
645 const char kImport[] = "import";
647 // Perform bookmark importing from an HTML file. The value associated with this
648 // setting encodes the file path. It may be used jointly with kImport.
649 const char kImportFromFile[] = "import-from-file";
651 // Runs plugins inside the renderer process
652 const char kInProcessPlugins[] = "in-process-plugins";
654 // Runs WebGL inside the renderer process.
655 const char kInProcessWebGL[] = "in-process-webgl";
657 // Causes the browser to launch directly in incognito mode.
658 const char kIncognito[] = "incognito";
660 // Back up the profile.
661 const char kInstallerTestBackup[] = "backup";
663 // Control the build under test.
664 const char kInstallerTestBuild[] = "build";
666 // Uninstall before running the tests.
667 const char kInstallerTestClean[] = "clean";
669 // Force the installer tests to run, regardless of the current platform.
670 const char kInstallerTestForce[] = "force";
672 // Runs the Native Client inside the renderer process.
673 const char kInternalNaCl[] = "internal-nacl";
675 // Runs a trusted Pepper plugin inside the renderer process.
676 const char kInternalPepper[] = "internal-pepper";
678 // The following flag allows users who can reproduce crbug/35198
679 // to enable extra logging. It will be removed once the issue is fixed.
680 const char kIssue35198ExtraLogging[] = "issue35198-logging";
682 // Specifies the flags passed to JS engine
683 const char kJavaScriptFlags[] = "js-flags";
685 // Used for testing - keeps browser alive after last browser window closes.
686 const char kKeepAliveForTest[] = "keep-alive-for-test";
688 // Load an extension from the specified directory.
689 const char kLoadExtension[] = "load-extension";
691 // Load an NPAPI plugin from the specified path.
692 const char kLoadPlugin[] = "load-plugin";
694 // Load NPAPI plugins from the specified directory.
695 const char kExtraPluginDir[] = "extra-plugin-dir";
697 // Will filter log messages to show only the messages that are prefixed
698 // with the specified value. See also kEnableLogging and kLoggingLevel.
699 const char kLogFilterPrefix[] = "log-filter-prefix";
701 // Make plugin processes log their sent and received messages to LOG(INFO).
702 const char kLogPluginMessages[] = "log-plugin-messages";
704 // Sets the minimum log level. Valid values are from 0 to 3:
705 // INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.
706 const char kLoggingLevel[] = "log-level";
708 // Make Chrome default browser
709 const char kMakeDefaultBrowser[] = "make-default-browser";
711 // Forces the maximum disk space to be used by the media cache, in bytes.
712 const char kMediaCacheSize[] = "media-cache-size";
714 // Enable dynamic loading of the Memory Profiler DLL, which will trace
715 // all memory allocations during the run.
716 const char kMemoryProfiling[] = "memory-profile";
718 // Enable histograming of tasks served by MessageLoop. See about:histograms/Loop
719 // for results, which show frequency of messages on each thread, including APC
720 // count, object signalling count, etc.
721 const char kMessageLoopHistogrammer[] = "message-loop-histogrammer";
723 // Enables the recording of metrics reports but disables reporting. In
724 // contrast to kDisableMetrics, this executes all the code that a normal client
725 // would use for reporting, except the report is dropped rather than sent to
726 // the server. This is useful for finding issues in the metrics code during UI
727 // and performance tests.
728 const char kMetricsRecordingOnly[] = "metrics-recording-only";
730 // Sets the default IP address (interface) for the stub (normally 127.0.0.1).
731 const char kNaClDebugIP[] = "nacl-debug-ip";
733 // Sets the default port range for debugging.
734 const char kNaClDebugPorts[] = "nacl-debug-ports";
736 // Causes the process to run as a NativeClient broker
737 // (used for launching NaCl loader processes on 64-bit Windows).
738 const char kNaClBrokerProcess[] = "nacl-broker";
740 // Causes the process to run as a NativeClient loader.
741 const char kNaClLoaderProcess[] = "nacl-loader";
743 // Causes the Native Client process to display a dialog on launch.
744 const char kNaClStartupDialog[] = "nacl-startup-dialog";
746 // Disables the default browser check. Useful for UI/browser tests where we
747 // want to avoid having the default browser info-bar displayed.
748 const char kNoDefaultBrowserCheck[] = "no-default-browser-check";
750 // Don't record/playback events when using record & playback.
751 const char kNoEvents[] = "no-events";
753 // Bypass the First Run experience when the browser is started, regardless of
754 // whether or not it's actually the first run. Overrides kFirstRun in case
755 // you're for some reason tempted to pass them both.
756 const char kNoFirstRun[] = "no-first-run";
758 // Support a separate switch that enables the v8 playback extension.
759 // The extension causes javascript calls to Date.now() and Math.random()
760 // to return consistent values, such that subsequent loads of the same
761 // page will result in consistent js-generated data and XHR requests.
762 // Pages may still be able to generate inconsistent data from plugins.
763 const char kNoJsRandomness[] = "no-js-randomness";
765 // Don't send HTTP-Referer headers.
766 const char kNoReferrers[] = "no-referrers";
768 // Don't use a proxy server, always make direct connections. Overrides any
769 // other proxy server flags that are passed.
770 const char kNoProxyServer[] = "no-proxy-server";
772 // Runs the renderer outside the sandbox.
773 const char kNoSandbox[] = "no-sandbox";
775 // Does not automatically open a browser window on startup (used when launching
776 // Chrome for the purpose of hosting background apps).
777 const char kNoStartupWindow[] = "no-startup-window";
779 // Don't use TopSites; use old ThumbnailDatabase code instead.
780 const char kNoTopSites[] = "no-top-sites";
782 // Specifies the maximum number of threads to use for running the Proxy
783 // Autoconfig (PAC) script.
784 const char kNumPacThreads[] = "num-pac-threads";
786 // Launch URL in new browser window.
787 const char kOpenInNewWindow[] = "new-window";
789 // Simulate an organic Chrome install.
790 const char kOrganicInstall[] = "organic";
792 // Package an extension to a .crx installable file from a given directory.
793 const char kPackExtension[] = "pack-extension";
795 // Optional PEM private key is to use in signing packaged .crx.
796 const char kPackExtensionKey[] = "pack-extension-key";
798 // Specifies the path to the user data folder for the parent profile.
799 const char kParentProfile[] = "parent-profile";
801 // Read previously recorded data from the cache. Only cached data is read.
802 // See kRecordMode.
803 const char kPlaybackMode[] = "playback-mode";
805 // Specifies the plugin data directory, which is where plugins (Gears
806 // specifically) will store its state.
807 const char kPluginDataDir[] = "plugin-data-dir";
809 // Specifies a command that should be used to launch the plugin process. Useful
810 // for running the plugin process through purify or quantify. Ex:
811 // --plugin-launcher="path\to\purify /Run=yes"
812 const char kPluginLauncher[] = "plugin-launcher";
814 // Tells the plugin process the path of the plugin to load
815 const char kPluginPath[] = "plugin-path";
817 // Causes the process to run as a plugin subprocess.
818 const char kPluginProcess[] = "plugin";
820 // Causes the plugin process to display a dialog on launch.
821 const char kPluginStartupDialog[] = "plugin-startup-dialog";
823 // Establishes a channel to the GPU process asynchronously and (re)launches it
824 // if necessary when a renderer process starts.
825 const char kPrelaunchGpuProcess[] = "prelaunch-gpu-process";
827 // Prints the pages on the screen.
828 const char kPrint[] = "print";
830 // Runs a single process for each site (i.e., group of pages from the same
831 // registered domain) the user visits. We default to using a renderer process
832 // for each site instance (i.e., group of pages from the same registered
833 // domain with script connections to each other).
834 const char kProcessPerSite[] = "process-per-site";
836 // Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own
837 // renderer process. We default to using a renderer process for each
838 // site instance (i.e., group of pages from the same registered domain with
839 // script connections to each other).
840 const char kProcessPerTab[] = "process-per-tab";
842 // The value of this switch determines whether the process is started as a
843 // renderer or plugin host. If it's empty, it's the browser.
844 const char kProcessType[] = "type";
846 // Output the product version information and quit. Used as an internal api to
847 // detect the installed version of Chrome on Linux.
848 const char kProductVersion[] = "product-version";
850 // Causes the process to run as a profile import subprocess.
851 const char kProfileImportProcess[] = "profile-import";
853 // Force proxy auto-detection.
854 const char kProxyAutoDetect[] = "proxy-auto-detect";
856 // Specify a list of hosts for whom we bypass proxy settings and use direct
857 // connections. Ignored if --proxy-auto-detect or --no-proxy-server are
858 // also specified.
859 // This is a comma separated list of bypass rules. See:
860 // "net/proxy/proxy_bypass_rules.h" for the format of these rules.
861 const char kProxyBypassList[] = "proxy-bypass-list";
863 // Use the pac script at the given URL
864 const char kProxyPacUrl[] = "proxy-pac-url";
866 // Use a specified proxy server, overrides system settings. This switch only
867 // affects HTTP and HTTPS requests.
868 const char kProxyServer[] = "proxy-server";
870 // Adds a "Purge memory" button to the Task Manager, which tries to dump as
871 // much memory as possible. This is mostly useful for testing how well the
872 // MemoryPurger functionality works.
874 // NOTE: This is only implemented for Views.
875 const char kPurgeMemoryButton[] = "purge-memory-button";
877 // Chrome supports a playback and record mode. Record mode saves *everything*
878 // to the cache. Playback mode reads data exclusively from the cache. This
879 // allows us to record a session into the cache and then replay it at will.
880 // See also kPlaybackMode.
881 const char kRecordMode[] = "record-mode";
883 // Register pepper plugins that should be loaded into the renderer.
884 const char kRegisterPepperPlugins[] = "register-pepper-plugins";
886 // Enable remote debug over HTTP on the specified port.
887 const char kRemoteDebuggingPort[] = "remote-debugging-port";
889 // Enable remote debug / automation shell on the specified port.
890 const char kRemoteShellPort[] = "remote-shell-port";
892 // Causes the renderer process to throw an assertion on launch.
893 const char kRendererAssertTest[] = "renderer-assert-test";
895 #if !defined(OFFICIAL_BUILD)
896 // Causes the renderer process to throw an assertion on launch.
897 const char kRendererCheckFalseTest[] = "renderer-check-false-test";
898 #endif
900 // On POSIX only: the contents of this flag are prepended to the renderer
901 // command line. Useful values might be "valgrind" or "xterm -e gdb --args".
902 const char kRendererCmdPrefix[] = "renderer-cmd-prefix";
904 // Causes the renderer process to crash on launch.
905 const char kRendererCrashTest[] = "renderer-crash-test";
907 // Causes the process to run as renderer instead of as browser.
908 const char kRendererProcess[] = "renderer";
910 // Causes the renderer process to display a dialog on launch.
911 const char kRendererStartupDialog[] = "renderer-startup-dialog";
913 // Indicates the last session should be restored on startup. This overrides
914 // the preferences value and is primarily intended for testing. The value of
915 // this switch is the number of tabs to wait until loaded before
916 // 'load completed' is sent to the ui_test.
917 const char kRestoreLastSession[] = "restore-last-session";
919 // Runs the plugin processes inside the sandbox.
920 const char kSafePlugins[] = "safe-plugins";
922 // Select the safe-browsing database storage. "old" for the original
923 // SQLite-based SafeBrowsingDatabaseBloom, "newsqlite" for the new
924 // SQLite-based SafeBrowsingDatabase+SafeBrowsingStoreSQLite, and
925 // "newfile" for SafeBrowsingDatabase+SafeBrowsingStoreFile.
926 const char kSafeBrowsingDatabaseStore[] = "safe-browsing-database-store";
928 // URL prefix used by safebrowsing to fetch hash, download data and
929 // report malware.
930 const char kSbInfoURLPrefix[] = "safebrowsing-info-url-prefix";
932 // URL prefix used by safebrowsing to get MAC key.
933 const char kSbMacKeyURLPrefix[] = "safebrowsing-mackey-url-prefix";
935 // If present, safebrowsing only performs update when
936 // SafeBrowsingProtocolManager::ForceScheduleNextUpdate() is explicitly called.
937 // This is used for testing only.
938 const char kSbDisableAutoUpdate[] = "safebrowsing-disable-auto-update";
940 // Enable support for SDCH filtering (dictionary based expansion of content).
941 // Optional argument is *the* only domain name that will have SDCH suppport.
942 // Default is "-enable-sdch" to advertise SDCH on all domains.
943 // Sample usage with argument: "-enable-sdch=.google.com"
944 // SDCH is currently only supported server-side for searches on google.com.
945 const char kSdchFilter[] = "enable-sdch";
947 // Enables the showing of an info-bar instructing user they can search directly
948 // from the omnibox.
949 const char kSearchInOmniboxHint[] = "search-in-omnibox-hint";
951 // Causes the process to run as a service process.
952 const char kServiceProcess[] = "service";
954 // The LSID of the account to use for the service process.
955 const char kServiceAccountLsid[] = "service-account-lsid";
957 // See kHideIcons.
958 const char kShowIcons[] = "show-icons";
960 // Renders a border around composited Render Layers to help debug and study
961 // layer compositing.
962 const char kShowCompositedLayerBorders[] = "show-composited-layer-borders";
964 // Visibly render a border around paint rects in the web page to help debug
965 // and study painting behavior.
966 const char kShowPaintRects[] = "show-paint-rects";
968 // Whether to show the link to the Google Privacy Dashboard on the Sync options
969 // panel.
970 const char kShowPrivacyDashboardLink[] = "show-privacy-dashboard-link";
972 // Change the DCHECKS to dump memory and continue instead of displaying error
973 // dialog. This is valid only in Release mode when --enable-dcheck is
974 // specified.
975 const char kSilentDumpOnDCHECK[] = "silent-dump-on-dcheck";
977 // Replaces the buffered data source for <audio> and <video> with a simplified
978 // resource loader that downloads the entire resource into memory.
980 // TODO(scherkus): remove --simple-data-source when our media resource loading
981 // is cleaned up and playback testing completed.
982 const char kSimpleDataSource[] = "simple-data-source";
984 // Runs the renderer and plugins in the same process as the browser
985 const char kSingleProcess[] = "single-process";
987 // Start the browser maximized, regardless of any previous settings.
988 const char kStartMaximized[] = "start-maximized";
990 // Control Sync XMPP client settings.
991 const char kSyncAllowPlain[] = "allow-plain";
993 // Disable the Chrome-socket-based buzz::AsyncSocket implementation
994 // for sync notifications, instead using libjingle sockets.
995 const char kSyncDisableChromeAsyncSocket[] =
996 "sync-disable-chrome-async-socket";
998 // Control Sync XMPP client settings.
999 const char kSyncDisableTls[] = "disable-tls";
1001 // Email used for sync.
1002 const char kSyncEmail[] = "email";
1004 // Use the SyncerThread implementation that matches up with the old pthread
1005 // impl semantics, but using Chrome synchronization primitives. The only
1006 // difference between this and the default is that we now have no timeout on
1007 // Stop(). Should only use if you experience problems with the default.
1008 const char kSyncerThreadTimedStop[] = "syncer-thread-timed-stop";
1010 // Override the default notification method for sync.
1011 const char kSyncNotificationMethod[] = "sync-notification-method";
1013 // Password used for sync.
1014 const char kSyncPassword[] = "password";
1016 // Port used for sync.
1017 const char kSyncPort[] = "port";
1019 // Server used for sync.
1020 const char kSyncServer[] = "server";
1022 // Override the default server used for profile sync.
1023 const char kSyncServiceURL[] = "sync-url";
1025 // Control Sync XMPP client settings.
1026 const char kSyncUseSslTcp[] = "use-ssl-tcp";
1028 // Control Sync XMPP client settings.
1029 const char kSyncUseCacheInvalidation[] = "use-cache-invalidation";
1031 // Pass the name of the current running automated test to Chrome.
1032 const char kTestName[] = "test-name";
1034 // Runs the security test for the renderer sandbox.
1035 const char kTestSandbox[] = "test-sandbox";
1037 // Runs the security test for the NaCl loader sandbox.
1038 const char kTestNaClSandbox[] = "test-nacl-sandbox";
1040 // Pass the type of the current test harness ("browser" or "ui")
1041 const char kTestType[] = "test-type";
1043 // The value of this switch tells the app to listen for and broadcast
1044 // testing-related messages on IPC channel with the given ID.
1045 const char kTestingChannelID[] = "testing-channel";
1047 // Excludes these plugins from the plugin sandbox.
1048 // This is a comma-separated list of plugin library names.
1049 const char kTrustedPlugins[] = "trusted-plugins";
1051 // Experimental. Shows a dialog asking the user to try chrome. This flag
1052 // is to be used only by the upgrade process.
1053 const char kTryChromeAgain[] = "try-chrome-again";
1055 // Runs un-installation steps that were done by chrome first-run.
1056 const char kUninstall[] = "uninstall";
1058 // Use Spdy for the transport protocol instead of HTTP.
1059 // This is a temporary testing flag.
1060 const char kUseSpdy[] = "use-spdy";
1062 // Ignore certificate related errors.
1063 const char kIgnoreCertificateErrors[] = "ignore-certificate-errors";
1065 // Set the maximum SPDY sessions per domain.
1066 const char kMaxSpdySessionsPerDomain[] = "max-spdy-sessions-per-domain";
1068 // Use the low fragmentation heap for the CRT.
1069 const char kUseLowFragHeapCrt[] = "use-lf-heap";
1071 // A string used to override the default user agent with a custom one.
1072 const char kUserAgent[] = "user-agent";
1074 // Specifies the user data directory, which is where the browser will look
1075 // for all of its state.
1076 const char kUserDataDir[] = "user-data-dir";
1078 // directory to locate user scripts in as an over-ride of the default
1079 const char kUserScriptsDir[] = "user-scripts-dir";
1081 // On POSIX only: the contents of this flag are prepended to the utility
1082 // process command line. Useful values might be "valgrind" or "xterm -e gdb
1083 // --args".
1084 const char kUtilityCmdPrefix[] = "utility-cmd-prefix";
1086 // Causes the process to run as a utility subprocess.
1087 const char kUtilityProcess[] = "utility";
1089 // The utility process is sandboxed, with access to one directory. This flag
1090 // specifies the directory that can be accessed.
1091 const char kUtilityProcessAllowedDir[] = "utility-allowed-dir";
1093 // Print version information and quit.
1094 const char kVersion[] = "version";
1096 // Will add kWaitForDebugger to every child processes. If a value is passed, it
1097 // will be used as a filter to determine if the child process should have the
1098 // kWaitForDebugger flag passed on or not.
1099 const char kWaitForDebuggerChildren[] = "wait-for-debugger-children";
1101 // Causes the worker process allocation to use as many processes as cores.
1102 const char kWebWorkerProcessPerCore[] = "web-worker-process-per-core";
1104 // Causes workers to run together in one process, depending on their domains.
1105 // Note this is duplicated in webworkerclient_impl.cc
1106 const char kWebWorkerShareProcesses[] = "web-worker-share-processes";
1108 // Use WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is
1109 // to use Chromium's network stack to fetch, and V8 to evaluate.
1110 const char kWinHttpProxyResolver[] = "winhttp-proxy-resolver";
1112 // Causes the process to run as a worker subprocess.
1113 const char kWorkerProcess[] = "worker";
1115 // The prefix used when starting the zygote process. (i.e. 'gdb --args')
1116 const char kZygoteCmdPrefix[] = "zygote-cmd-prefix";
1118 // Causes the process to run as a renderer zygote.
1119 const char kZygoteProcess[] = "zygote";
1121 #if defined(OS_CHROMEOS)
1122 // Enable the redirection of viewable document requests to the Google
1123 // Document Viewer.
1124 const char kEnableGView[] = "enable-gview";
1126 // Should we show the image based login?
1127 const char kEnableLoginImages[] = "enable-login-images";
1129 // Enable Chrome-as-a-login-manager behavior.
1130 const char kLoginManager[] = "login-manager";
1132 // Allows to override the first login screen. The value should be the name
1133 // of the first login screen to show (see
1134 // chrome/browser/chromeos/login/login_wizard_view.cc for actual names).
1135 // Ignored if kLoginManager is not specified.
1136 // TODO(avayvod): Remove when the switch is no longer needed for testing.
1137 const char kLoginScreen[] = "login-screen";
1139 // Allows control over the initial login screen size. Pass width,height.
1140 const char kLoginScreenSize[] = "login-screen-size";
1142 // Attempts to load libcros and validate it, then exits. A nonzero return code
1143 // means the library could not be loaded correctly.
1144 const char kTestLoadLibcros[] = "test-load-libcros";
1146 // Specifies the profile to use once a chromeos user is logged in.
1147 const char kLoginProfile[] = "login-profile";
1149 // Specifies the user which is already logged in.
1150 const char kLoginUser[] = "login-user";
1151 // Specifies a password to be used to login (along with login-user).
1152 const char kLoginPassword[] = "login-password";
1154 // Use the frame layout used in chromeos.
1155 const char kChromeosFrame[] = "chromeos-frame";
1157 // Set logging output to the given file.
1158 const char kChromeosLogToFile[] = "logtofile";
1160 // Indicates that the browser is in "browse without sign-in" mode.
1161 // Should completely disable extensions, sync and bookmarks.
1162 const char kBWSI[] = "bwsi";
1164 // Indicates that stub implementations of the libcros library should be used.
1165 // This is typically used to test the chromeos build of chrome on the desktop.
1166 const char kStubCros[] = "stub-cros";
1168 // URL of the html page for Screen Saver.
1169 const char kScreenSaverUrl[] = "screen-saver-url";
1170 #endif
1172 #if defined(OS_LINUX)
1173 // Specify the amount the trackpad should scroll by.
1174 const char kScrollPixels[] = "scroll-pixels";
1175 #endif
1177 #if defined(OS_MACOSX) || defined(OS_WIN)
1178 // Use the system SSL library (Secure Transport on Mac, SChannel on Windows)
1179 // instead of NSS for SSL.
1180 const char kUseSystemSSL[] = "use-system-ssl";
1181 #endif
1183 #if defined(OS_POSIX)
1184 // A flag, generated internally by Chrome for renderer and other helper process
1185 // command lines on Linux and Mac. It tells the helper process to enable crash
1186 // dumping and reporting, because helpers cannot access the profile or other
1187 // files needed to make this decision.
1188 // If passed to the browser, it'll be passed on to all the helper processes
1189 // as well, thereby force-enabling the crash reporter.
1190 const char kEnableCrashReporter[] = "enable-crash-reporter";
1192 // Bypass the error dialog when the profile lock couldn't be attained.
1193 // This switch is used during automated testing.
1194 const char kNoProcessSingletonDialog[] = "no-process-singleton-dialog";
1196 #if !defined(OS_MACOSX)
1197 // Specifies which password store to use (detect, default, gnome, kwallet).
1198 const char kPasswordStore[] = "password-store";
1199 #endif
1200 #endif
1202 #if defined(OS_MACOSX)
1203 // Temporary flag to prevent Flash from negotiating the Core Animation drawing
1204 // model. This will be removed once the last issues have been resolved.
1205 const char kDisableFlashCoreAnimation[] = "disable-flash-core-animation";
1207 // Temporary flag to disable hole punching for accelerated surfaces. This is
1208 // here to aid debugging eventual problems, it can be removed once hole punching
1209 // has been out there for a few dev channel releases without problems.
1210 const char kDisableHolePunching[] = "disable-hole-punching";
1212 // Enables the tabs expose feature ( http://crbug.com/50307 ).
1213 const char kEnableExposeForTabs[] = "enable-expose-for-tabs";
1215 // Cause the OS X sandbox write to syslog every time an access to a resource
1216 // is denied by the sandbox.
1217 const char kEnableSandboxLogging[] = "enable-sandbox-logging";
1218 #else
1219 // Enable Kiosk mode.
1220 const char kKioskMode[] = "kiosk";
1221 #endif
1223 #ifndef NDEBUG
1224 // Debug only switch to specify which gears plugin dll to load.
1225 const char kGearsPluginPathOverride[] = "gears-plugin-path";
1227 // Makes sure any sync login attempt will fail with an error. (Only
1228 // used for testing.)
1229 const char kInvalidateSyncLogin[] = "invalidate-sync-login";
1231 // Makes sure any sync xmpp login attempt will fail with an error. (Only
1232 // used for testing.)
1233 const char kInvalidateSyncXmppLogin[] = "invalidate-sync-xmpp-login";
1235 // Debug only switch to specify which websocket live experiment host to be used.
1236 // If host is specified, it also makes initial delay shorter (5 min to 5 sec)
1237 // to make it faster to test websocket live experiment code.
1238 const char kWebSocketLiveExperimentHost[] = "websocket-live-experiment-host";
1239 #endif
1241 // USE_SECCOMP_SANDBOX controls whether the seccomp sandbox is opt-in or -out.
1242 // TODO(evan): unify all of these once we turn the seccomp sandbox always
1243 // on. Also remove the #include of command_line.h above.
1244 #if defined(USE_SECCOMP_SANDBOX)
1245 // Disable the seccomp sandbox (Linux only)
1246 const char kDisableSeccompSandbox[] = "disable-seccomp-sandbox";
1247 #else
1248 // Enable the seccomp sandbox (Linux only)
1249 const char kEnableSeccompSandbox[] = "enable-seccomp-sandbox";
1250 #endif
1252 bool SeccompSandboxEnabled() {
1253 #if defined(USE_SECCOMP_SANDBOX)
1254 return !CommandLine::ForCurrentProcess()->HasSwitch(
1255 switches::kDisableSeccompSandbox);
1256 #else
1257 return CommandLine::ForCurrentProcess()->HasSwitch(
1258 switches::kEnableSeccompSandbox);
1259 #endif
1262 // -----------------------------------------------------------------------------
1263 // DO NOT ADD YOUR CRAP TO THE BOTTOM OF THIS FILE.
1265 // You were going to just dump your switches here, weren't you? Instead,
1266 // please put them in alphabetical order above, or in order inside the
1267 // appropriate ifdef at the bottom. The order should match the header.
1268 // -----------------------------------------------------------------------------
1270 } // namespace switches