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 #include "content/public/common/content_switches.h"
9 // By default, file:// URIs cannot read other file:// URIs. This is an
10 // override for developers who need the old behavior for testing.
11 const char kAllowFileAccessFromFiles
[] = "allow-file-access-from-files";
13 // Allows debugging of sandboxed processes (see zygote_main_linux.cc).
14 const char kAllowSandboxDebugging
[] = "allow-sandbox-debugging";
16 // Allow compositing on chrome:// pages.
17 const char kAllowWebUICompositing
[] = "allow-webui-compositing";
19 // Enumerates and prints a child process' most dangerous handles when it
21 const char kAuditHandles
[] = "enable-handle-auditing";
23 // The same as kAuditHandles except all handles are enumerated.
24 const char kAuditAllHandles
[] = "enable-handle-auditing-all";
26 // Causes the browser process to throw an assertion on startup.
27 const char kBrowserAssertTest
[] = "assert-test";
29 // Causes the browser process to crash on startup.
30 const char kBrowserCrashTest
[] = "crash-test";
32 // Path to the exe to run for the renderer and plugin subprocesses.
33 const char kBrowserSubprocessPath
[] = "browser-subprocess-path";
35 // Run Chrome in Chrome Frame mode. This means that Chrome expects to be run
36 // as a dependent process of the Chrome Frame plugin.
37 const char kChromeFrame
[] = "chrome-frame";
39 // Disables client-visible 3D APIs, in particular WebGL and Pepper 3D.
40 // This is controlled by policy and is kept separate from the other
41 // enable/disable switches to avoid accidentally regressing the policy
42 // support for controlling access to these APIs.
43 const char kDisable3DAPIs
[] = "disable-3d-apis";
45 // Disable gpu-accelerated 2d canvas.
46 const char kDisableAccelerated2dCanvas
[] = "disable-accelerated-2d-canvas";
48 // Disables accelerated compositing.
49 const char kDisableAcceleratedCompositing
[] = "disable-accelerated-compositing";
51 // Disables the hardware acceleration of 3D CSS and animation.
52 const char kDisableAcceleratedLayers
[] = "disable-accelerated-layers";
54 // Disables the hardware acceleration of plugins.
55 const char kDisableAcceleratedPlugins
[] = "disable-accelerated-plugins";
57 // Disables GPU accelerated video display.
58 const char kDisableAcceleratedVideo
[] = "disable-accelerated-video";
60 // Disables the alternate window station for the renderer.
61 const char kDisableAltWinstation
[] = "disable-winsta";
63 // Disable the ApplicationCache.
64 const char kDisableApplicationCache
[] = "disable-application-cache";
66 // TODO(scherkus): remove --disable-audio when we have a proper fallback
68 const char kDisableAudio
[] = "disable-audio";
70 // Disable limits on the number of backing stores. Can prevent blinking for
71 // users with many windows/tabs and lots of memory.
72 const char kDisableBackingStoreLimit
[] = "disable-backing-store-limit";
74 // Disables HTML5 DB support.
75 const char kDisableDatabases
[] = "disable-databases";
77 // Disables data transfer items.
78 const char kDisableDataTransferItems
[] = "disable-data-transfer-items";
80 // Disable deferred 2d canvas rendering.
81 const char kDisableDeferred2dCanvas
[] = "disable-deferred-2d-canvas";
83 // Disables desktop notifications (default enabled on windows).
84 const char kDisableDesktopNotifications
[] = "disable-desktop-notifications";
86 // Disables device orientation events.
87 const char kDisableDeviceOrientation
[] = "disable-device-orientation";
89 #if defined(OS_ANDROID)
90 // WebGL is disabled by default on Android.
91 const char kEnableExperimentalWebGL
[] = "enable-webgl";
93 // Disable experimental WebGL support.
94 const char kDisableExperimentalWebGL
[] = "disable-webgl";
97 // Blacklist the GPU for accelerated compositing.
98 const char kBlacklistAcceleratedCompositing
[] =
99 "blacklist-accelerated-compositing";
101 // Blacklist the GPU for WebGL.
102 const char kBlacklistWebGL
[] = "blacklist-webgl";
104 // Disable FileSystem API.
105 const char kDisableFileSystem
[] = "disable-file-system";
107 // Disable 3D inside of flapper.
108 const char kDisableFlash3d
[] = "disable-flash-3d";
110 // Disable using 3D to present fullscreen flash
111 const char kDisableFlashFullscreen3d
[] = "disable-flash-fullscreen-3d";
113 // Disable Stage3D inside of flapper.
114 const char kDisableFlashStage3d
[] = "disable-flash-stage3d";
116 // Suppresses support for the Geolocation javascript API.
117 const char kDisableGeolocation
[] = "disable-geolocation";
119 // Disable Gesture Tap Highlight
120 const char kDisableGestureTapHighlight
[] = "disable-gesture-tap-highlight";
122 // Disable GL multisampling.
123 const char kDisableGLMultisampling
[] = "disable-gl-multisampling";
125 // Do not launch the GPU process shortly after browser process launch. Instead
126 // launch it when it is first needed.
127 const char kDisableGpuProcessPrelaunch
[] = "disable-gpu-process-prelaunch";
129 // Disable the GPU process sandbox.
130 const char kDisableGpuSandbox
[] = "disable-gpu-sandbox";
132 // Reduces the GPU process sandbox to be less strict.
133 const char kReduceGpuSandbox
[] = "reduce-gpu-sandbox";
135 // Enable the GPU process sandbox (Linux/Chrome OS only for now).
136 const char kEnableGpuSandbox
[] = "enable-gpu-sandbox";
138 // Suppresses hang monitor dialogs in renderer processes. This may allow slow
139 // unload handlers on a page to prevent the tab from closing, but the Task
140 // Manager can be used to terminate the offending process in this case.
141 const char kDisableHangMonitor
[] = "disable-hang-monitor";
143 // Disable the use of an ImageTransportSurface. This means the GPU process
144 // will present the rendered page rather than the browser process.
145 const char kDisableImageTransportSurface
[] = "disable-image-transport-surface";
147 // Disables GPU hardware acceleration. If software renderer is not in place,
148 // then the GPU process won't launch.
149 const char kDisableGpu
[] = "disable-gpu";
151 // Disable the thread that crashes the GPU process if it stops responding to
153 const char kDisableGpuWatchdog
[] = "disable-gpu-watchdog";
155 // Prevent Java from running.
156 const char kDisableJava
[] = "disable-java";
158 // Don't execute JavaScript (browser JS like the new tab page still runs).
159 const char kDisableJavaScript
[] = "disable-javascript";
161 // Disable JavaScript I18N API.
162 const char kDisableJavaScriptI18NAPI
[] = "disable-javascript-i18n-api";
164 // Disable LocalStorage.
165 const char kDisableLocalStorage
[] = "disable-local-storage";
167 // Force logging to be disabled. Logging is enabled by default in debug
169 const char kDisableLogging
[] = "disable-logging";
171 // Prevent plugins from running.
172 const char kDisablePlugins
[] = "disable-plugins";
174 // Disable the JavaScript Pointer Lock API.
175 const char kDisablePointerLock
[] = "disable-pointer-lock";
177 // Disables remote web font support. SVG font should always work whether this
178 // option is specified or not.
179 const char kDisableRemoteFonts
[] = "disable-remote-fonts";
181 // Turns off the accessibility in the renderer.
182 const char kDisableRendererAccessibility
[] = "disable-renderer-accessibility";
184 // Disable False Start in SSL and TLS connections.
185 const char kDisableSSLFalseStart
[] = "disable-ssl-false-start";
187 // Disable smooth scrolling for testing.
188 const char kDisableSmoothScrolling
[] = "disable-smooth-scrolling";
190 // Disable the seccomp sandbox (Linux only)
191 const char kDisableSeccompSandbox
[] = "disable-seccomp-sandbox";
193 // Disable the seccomp filter sandbox (Linux only)
194 const char kDisableSeccompFilterSandbox
[] = "disable-seccomp-filter-sandbox";
196 // Disable session storage.
197 const char kDisableSessionStorage
[] = "disable-session-storage";
199 // Enable shared workers. Functionality not yet complete.
200 const char kDisableSharedWorkers
[] = "disable-shared-workers";
202 // Disables site-specific tailoring to compatibility issues in WebKit.
203 const char kDisableSiteSpecificQuirks
[] = "disable-site-specific-quirks";
205 // Disables speech input.
206 const char kDisableSpeechInput
[] = "disable-speech-input";
208 // Enables scripted speech api.
209 const char kEnableScriptedSpeech
[] = "enable-scripted-speech";
211 // Specifies the request key for the continuous speech recognition webservice.
212 const char kSpeechRecognitionWebserviceKey
[] = "speech-service-key";
214 // Disables animation on the compositor thread.
215 const char kDisableThreadedAnimation
[] = "disable-threaded-animation";
217 #if defined(OS_ANDROID)
218 // Enable web audio API.
219 const char kEnableWebAudio
[] = "enable-webaudio";
221 // Disable web audio API.
222 const char kDisableWebAudio
[] = "disable-webaudio";
225 // Don't enforce the same-origin policy. (Used by people testing their sites.)
226 const char kDisableWebSecurity
[] = "disable-web-security";
228 // Disable Web Sockets support.
229 const char kDisableWebSockets
[] = "disable-web-sockets";
231 // Disables WebKit's XSSAuditor. The XSSAuditor mitigates reflective XSS.
232 const char kDisableXSSAuditor
[] = "disable-xss-auditor";
234 // Specifies if the |DOMAutomationController| needs to be bound in the
235 // renderer. This binding happens on per-frame basis and hence can potentially
236 // be a performance bottleneck. One should only enable it when automating dom
237 // based tests. Also enables sending/receiving renderer automation messages
238 // through the |AutomationRenderViewHelper|.
240 // TODO(kkania): Rename this to enable-renderer-automation after moving the
241 // |DOMAutomationController| to the |AutomationRenderViewHelper|.
242 const char kDomAutomationController
[] = "dom-automation";
244 // Enable hardware accelerated page painting.
245 const char kEnableAcceleratedPainting
[] = "enable-accelerated-painting";
247 // Enables the hardware acceleration of plugins.
248 const char kEnableAcceleratedPlugins
[] = "enable-accelerated-plugins";
250 // Enable gpu-accelerated SVG/W3C filters.
251 const char kEnableAcceleratedFilters
[] = "enable-accelerated-filters";
253 // Turns on extremely verbose logging of accessibility events.
254 const char kEnableAccessibilityLogging
[] = "enable-accessibility-logging";
256 // Enables the creation of compositing layers for fixed position elements.
257 const char kEnableCompositingForFixedPosition
[] =
258 "enable-fixed-position-compositing";
260 // Enables CSS3 exclusions
261 const char kEnableCssExclusions
[] = "enable-css-exclusions";
263 // Enables CSS3 regions
264 const char kEnableCssRegions
[] = "enable-css-regions";
266 // Enables CSS3 custom filters
267 const char kEnableCssShaders
[] = "enable-css-shaders";
269 // Enables CSS variables
270 const char kEnableCssVariables
[] = "enable-css-variables";
272 // Enables device motion events.
273 const char kEnableDeviceMotion
[] = "enable-device-motion";
275 // Enables support for encrypted media. Current implementation is
276 // incomplete and this flag is used for development and testing.
277 const char kEnableEncryptedMedia
[] = "enable-encrypted-media";
279 // Enables the fastback page cache.
280 const char kEnableFastback
[] = "enable-fastback";
282 // By default, a page is laid out to fill the entire width of the window.
283 // This flag fixes the layout of the page to a default of 980 CSS pixels,
284 // or to a specified width and height using --enable-fixed-layout=w,h
285 const char kEnableFixedLayout
[] = "enable-fixed-layout";
287 // Enable the JavaScript Full Screen API.
288 const char kDisableFullScreen
[] = "disable-fullscreen";
290 // Enable the JavaScript Pointer Lock API.
291 const char kEnablePointerLock
[] = "enable-pointer-lock";
293 // Enable Text Service Framework(TSF) for text inputting instead of IMM32. This
294 // flag is ignored on Metro environment.
295 const char kEnableTextServiceFramework
[] = "enable-text-service-framework";
297 // Enables the GPU benchmarking extension
298 const char kEnableGpuBenchmarking
[] = "enable-gpu-benchmarking";
300 // Force logging to be enabled. Logging is disabled by default in release
302 const char kEnableLogging
[] = "enable-logging";
304 // Disable Media Source API on <audio>/<video> elements.
305 const char kDisableMediaSource
[] = "disable-media-source";
307 // On Windows, converts the page to the currently-installed monitor profile.
308 // This does NOT enable color management for images. The source is still
309 // assumed to be sRGB.
310 const char kEnableMonitorProfile
[] = "enable-monitor-profile";
312 // Enables partial swaps in the WK compositor on platforms that support it.
313 const char kEnablePartialSwap
[] = "enable-partial-swap";
315 // Enables UI releasing handle to front surface for background tabs on platforms
317 const char kEnableUIReleaseFrontSurface
[] = "enable-ui-release-front-surface";
319 // Enables touch-screen pinch gestures.
320 const char kEnablePinch
[] = "enable-pinch";
322 // Enable caching of pre-parsed JS script data. See http://crbug.com/32407.
323 const char kEnablePreparsedJsCaching
[] = "enable-preparsed-js-caching";
325 // Enable privileged WebGL extensions; without this switch such extensions are
326 // available only to Chrome extensions.
327 const char kEnablePrivilegedWebGLExtensions
[] =
328 "enable-privileged-webgl-extensions";
330 // Aggressively free GPU command buffers belonging to hidden tabs.
331 const char kEnablePruneGpuCommandBuffers
[] =
332 "enable-prune-gpu-command-buffers";
334 // Enable renderer side mixing and low latency audio path for media elements.
335 const char kEnableRendererSideMixing
[] = "enable-renderer-side-mixing";
337 // Enables TLS cached info extension.
338 const char kEnableSSLCachedInfo
[] = "enable-ssl-cached-info";
340 // Cause the OS X sandbox write to syslog every time an access to a resource
341 // is denied by the sandbox.
342 const char kEnableSandboxLogging
[] = "enable-sandbox-logging";
344 // Enable the seccomp sandbox (Linux only)
345 const char kEnableSeccompSandbox
[] = "enable-seccomp-sandbox";
347 // Enable shadow DOM API
348 const char kEnableShadowDOM
[] = "enable-shadow-dom";
350 // Enable <style scoped>
351 const char kEnableStyleScoped
[] = "enable-style-scoped";
353 // On platforms that support it, enables smooth scroll animation.
354 const char kEnableSmoothScrolling
[] = "enable-smooth-scrolling";
356 // Enables StatsTable, logging statistics to a global named shared memory table.
357 const char kEnableStatsTable
[] = "enable-stats-table";
359 // Experimentally ensures that each renderer process:
360 // 1) Only handles rendering for a single page.
361 // (Note that a page can reference content from multiple origins due to images,
363 // 2) Only has authority to see or use cookies for the page's top-level origin.
364 // (So if a.com iframe's b.com, the b.com network request will be sent without
366 // This is expected to break compatibility with many pages for now.
367 const char kEnableStrictSiteIsolation
[] = "enable-strict-site-isolation";
369 // Enable multithreaded GPU compositing of web content.
370 const char kEnableThreadedCompositing
[] = "enable-threaded-compositing";
372 // Disable multithreaded GPU compositing of web content.
373 const char kDisableThreadedCompositing
[] = "disable-threaded-compositing";
375 // Enable use of experimental TCP sockets API for sending data in the
377 const char kEnableTcpFastOpen
[] = "enable-tcp-fastopen";
379 // Disables hardware acceleration of video decode, where available.
380 const char kDisableAcceleratedVideoDecode
[] =
381 "disable-accelerated-video-decode";
383 // Enables the use of the viewport meta tag, which allows
384 // pages to control aspects of their own layout. This also turns on touch-screen
386 const char kEnableViewport
[] = "enable-viewport";
388 // Enables experimental features for the geolocation API.
390 // - CoreLocation support for Mac OS X 10.6
391 // - Gateway location for Linux and Windows
392 // - Location platform support for Windows 7
393 const char kExperimentalLocationFeatures
[] = "experimental-location-features";
395 // Load NPAPI plugins from the specified directory.
396 const char kExtraPluginDir
[] = "extra-plugin-dir";
398 // If accelerated compositing is supported, always enter compositing mode for
399 // the base layer even when compositing is not strictly required.
400 const char kForceCompositingMode
[] = "force-compositing-mode";
402 // This flag disables force compositing mode and prevents it from being enabled
404 const char kDisableForceCompositingMode
[] = "disable-force-compositing-mode";
406 // Some field trials may be randomized in the browser, and the randomly selected
407 // outcome needs to be propagated to the renderer. For instance, this is used
408 // to modify histograms recorded in the renderer, or to get the renderer to
409 // also set of its state (initialize, or not initialize components) to match the
410 // experiment(s). The option is also useful for forcing field trials when
411 // testing changes locally. The argument is a list of name and value pairs,
412 // separated by slashes. See FieldTrialList::CreateTrialsFromString() in
413 // field_trial.h for details.
414 const char kForceFieldTrials
[] = "force-fieldtrials";
416 // Force renderer accessibility to be on instead of enabling it on demand when
417 // a screen reader is detected. The disable-renderer-accessibility switch
418 // overrides this if present.
419 const char kForceRendererAccessibility
[] = "force-renderer-accessibility";
421 // Passes gpu device_id from browser process to GPU process.
422 const char kGpuDeviceID
[] = "gpu-device-id";
424 // Passes gpu driver_vendor from browser process to GPU process.
425 const char kGpuDriverVendor
[] = "gpu-driver-vendor";
427 // Passes gpu driver_version from browser process to GPU process.
428 const char kGpuDriverVersion
[] = "gpu-driver-version";
430 // Extra command line options for launching the GPU process (normally used
431 // for debugging). Use like renderer-cmd-prefix.
432 const char kGpuLauncher
[] = "gpu-launcher";
434 // Makes this process a GPU sub-process.
435 const char kGpuProcess
[] = "gpu-process";
437 // Causes the GPU process to display a dialog on launch.
438 const char kGpuStartupDialog
[] = "gpu-startup-dialog";
440 // Passes gpu vendor_id from browser process to GPU process.
441 const char kGpuVendorID
[] = "gpu-vendor-id";
443 // Used in conjunction with kRendererProcess. This causes the process
444 // to run as a guest renderer instead of a regular renderer.
445 const char kGuestRenderer
[] = "guest-renderer";
447 // Run the GPU process as a thread in the browser process.
448 const char kInProcessGPU
[] = "in-process-gpu";
450 // Runs plugins inside the renderer process
451 const char kInProcessPlugins
[] = "in-process-plugins";
453 // Runs WebGL inside the renderer process.
454 const char kInProcessWebGL
[] = "in-process-webgl";
456 // Specifies the flags passed to JS engine
457 const char kJavaScriptFlags
[] = "js-flags";
459 // Load an NPAPI plugin from the specified path.
460 const char kLoadPlugin
[] = "load-plugin";
462 // Sets the minimum log level. Valid values are from 0 to 3:
463 // INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.
464 const char kLoggingLevel
[] = "log-level";
466 // Make plugin processes log their sent and received messages to VLOG(1).
467 const char kLogPluginMessages
[] = "log-plugin-messages";
469 // Causes the process to run as a NativeClient broker
470 // (used for launching NaCl loader processes on 64-bit Windows).
471 const char kNaClBrokerProcess
[] = "nacl-broker";
473 // Causes the process to run as a NativeClient loader.
474 const char kNaClLoaderProcess
[] = "nacl-loader";
476 // Don't send HTTP-Referer headers.
477 const char kNoReferrers
[] = "no-referrers";
479 // Disables the sandbox for all process types that are normally sandboxed.
480 const char kNoSandbox
[] = "no-sandbox";
482 // Specifies a command that should be used to launch the plugin process. Useful
483 // for running the plugin process through purify or quantify. Ex:
484 // --plugin-launcher="path\to\purify /Run=yes"
485 const char kPluginLauncher
[] = "plugin-launcher";
487 // Tells the plugin process the path of the plugin to load
488 const char kPluginPath
[] = "plugin-path";
490 // Causes the process to run as a plugin subprocess.
491 const char kPluginProcess
[] = "plugin";
493 // Causes the plugin process to display a dialog on launch.
494 const char kPluginStartupDialog
[] = "plugin-startup-dialog";
496 // Argument to the process type that indicates a PPAPI broker process type.
497 const char kPpapiBrokerProcess
[] = "ppapi-broker";
499 // Runs PPAPI (Pepper) plugins out-of-process.
500 const char kPpapiOutOfProcess
[] = "ppapi-out-of-process";
502 // Like kPluginLauncher for PPAPI plugins.
503 const char kPpapiPluginLauncher
[] = "ppapi-plugin-launcher";
505 // Argument to the process type that indicates a PPAPI plugin process type.
506 const char kPpapiPluginProcess
[] = "ppapi";
508 // Causes the PPAPI sub process to display a dialog on launch. Be sure to use
509 // --no-sandbox as well or the sandbox won't allow the dialog to display.
510 const char kPpapiStartupDialog
[] = "ppapi-startup-dialog";
512 // Runs a single process for each site (i.e., group of pages from the same
513 // registered domain) the user visits. We default to using a renderer process
514 // for each site instance (i.e., group of pages from the same registered
515 // domain with script connections to each other).
516 const char kProcessPerSite
[] = "process-per-site";
518 // Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own
519 // renderer process. We default to using a renderer process for each
520 // site instance (i.e., group of pages from the same registered domain with
521 // script connections to each other).
522 const char kProcessPerTab
[] = "process-per-tab";
524 // The value of this switch determines whether the process is started as a
525 // renderer or plugin host. If it's empty, it's the browser.
526 const char kProcessType
[] = "type";
528 // Register Pepper plugins (see pepper_plugin_registry.cc for its format).
529 const char kRegisterPepperPlugins
[] = "register-pepper-plugins";
531 // Enables remote debug over HTTP on the specified port.
532 const char kRemoteDebuggingPort
[] = "remote-debugging-port";
534 // Causes the renderer process to throw an assertion on launch.
535 const char kRendererAssertTest
[] = "renderer-assert-test";
537 // On POSIX only: the contents of this flag are prepended to the renderer
538 // command line. Useful values might be "valgrind" or "xterm -e gdb --args".
539 const char kRendererCmdPrefix
[] = "renderer-cmd-prefix";
541 // Causes the process to run as renderer instead of as browser.
542 const char kRendererProcess
[] = "renderer";
544 // Overrides the default/calculated limit to the number of renderer processes.
545 // Very high values for this setting can lead to high memory/resource usage
547 const char kRendererProcessLimit
[] = "renderer-process-limit";
549 // Causes the renderer process to display a dialog on launch.
550 const char kRendererStartupDialog
[] = "renderer-startup-dialog";
552 // Causes the process to run as a service process.
553 const char kServiceProcess
[] = "service";
555 // Renders a border around composited Render Layers to help debug and study
556 // layer compositing.
557 const char kShowCompositedLayerBorders
[] = "show-composited-layer-borders";
559 // Draws a textual dump of the compositor layer tree to help debug and study
560 // layer compositing.
561 const char kShowCompositedLayerTree
[] = "show-composited-layer-tree";
563 // Draws a FPS indicator
564 const char kShowFPSCounter
[] = "show-fps-counter";
566 // Visibly render a border around paint rects in the web page to help debug
567 // and study painting behavior.
568 const char kShowPaintRects
[] = "show-paint-rects";
570 // Map mouse input events into touch gesture events. Useful for debugging touch
571 // gestures without needing a touchscreen.
572 const char kSimulateTouchScreenWithMouse
[] =
573 "simulate-touch-screen-with-mouse";
575 // Runs the renderer and plugins in the same process as the browser
576 const char kSingleProcess
[] = "single-process";
578 // Skip gpu info collection, blacklist loading, and blacklist auto-update
579 // scheduling at browser startup time.
580 // Therefore, all GPU features are available, and about:gpu page shows empty
581 // content. The switch is intended only for tests.
582 const char kSkipGpuDataLoading
[] = "skip-gpu-data-loading";
584 // GestureTapDown events are deferred by this many miillseconds before
585 // sending them to the renderer.
586 const char kTapDownDeferralTimeMs
[] = "tap-down-deferral-time";
588 // Runs the security test for the renderer sandbox.
589 const char kTestSandbox
[] = "test-sandbox";
591 // Causes TRACE_EVENT flags to be recorded from startup. Optionally, can
592 // specify the specific trace categories to include (e.g.
593 // --trace-startup=base,net) otherwise, all events are recorded. Setting this
594 // flag results in the first call to BeginTracing() to receive all trace events
595 // since startup. In Chrome, you may find --trace-startup-file and
596 // --trace-startup-duration to control the auto-saving of the trace (not
597 // supported in the base-only TraceLog component).
598 const char kTraceStartup
[] = "trace-startup";
600 // If supplied, sets the file which startup tracing will be stored into, if
601 // omitted the default will be used "chrometrace.log" in the current directory.
602 // Has no effect unless --trace-startup is also supplied.
603 // Example: --trace-startup --trace-startup-file=/tmp/trace_event.log
604 // As a special case, can be set to 'none' - this disables automatically saving
605 // the result to a file and the first manually recorded trace will then receive
606 // all events since startup.
607 const char kTraceStartupFile
[] = "trace-startup-file";
609 // Sets the time in seconds until startup tracing ends. If omitted a default of
610 // 5 seconds is used. Has no effect without --trace-startup, or if
611 // --startup-trace-file=none was supplied.
612 const char kTraceStartupDuration
[] = "trace-startup-duration";
614 // Prioritizes the UI's command stream in the GPU process
615 extern const char kUIPrioritizeInGpuProcess
[] =
616 "ui-prioritize-in-gpu-process";
618 // A string used to override the default user agent with a custom one.
619 const char kUserAgent
[] = "user-agent";
621 // On POSIX only: the contents of this flag are prepended to the utility
622 // process command line. Useful values might be "valgrind" or "xterm -e gdb
624 const char kUtilityCmdPrefix
[] = "utility-cmd-prefix";
626 // Causes the process to run as a utility subprocess.
627 const char kUtilityProcess
[] = "utility";
629 // The utility process is sandboxed, with access to one directory. This flag
630 // specifies the directory that can be accessed.
631 const char kUtilityProcessAllowedDir
[] = "utility-allowed-dir";
633 // Will add kWaitForDebugger to every child processes. If a value is passed, it
634 // will be used as a filter to determine if the child process should have the
635 // kWaitForDebugger flag passed on or not.
636 const char kWaitForDebuggerChildren
[] = "wait-for-debugger-children";
638 // Choose which logging channels in WebCore to activate. See
639 // Logging.cpp in WebKit's WebCore for a list of available channels.
640 const char kWebCoreLogChannels
[] = "webcore-log-channels";
642 // Causes the worker process allocation to use as many processes as cores.
643 const char kWebWorkerProcessPerCore
[] = "web-worker-process-per-core";
645 // Causes workers to run together in one process, depending on their domains.
646 // Note this is duplicated in webworkerclient_impl.cc
647 const char kWebWorkerShareProcesses
[] = "web-worker-share-processes";
649 // Causes the process to run as a worker subprocess.
650 const char kWorkerProcess
[] = "worker";
652 // The prefix used when starting the zygote process. (i.e. 'gdb --args')
653 const char kZygoteCmdPrefix
[] = "zygote-cmd-prefix";
655 // Causes the process to run as a renderer zygote.
656 const char kZygoteProcess
[] = "zygote";
658 // Enables moving cursor by word in visual order.
659 const char kEnableVisualWordMovement
[] = "enable-visual-word-movement";
661 #if defined(OS_ANDROID)
662 // Set when Chromium should use a mobile user agent.
663 const char kUseMobileUserAgent
[] = "use-mobile-user-agent";
664 // Omnibus flag setting an Android graphics mode. May be:
665 // "basic" (untiled software path)
666 // "compositor" (hardware-accelerated compositing),
667 const char kGraphicsMode
[] = "graphics-mode";
668 const char kGraphicsModeValueBasic
[] = "basic";
669 const char kGraphicsModeValueCompositor
[] = "compositor";
671 // The telephony region (ISO country code) to use in phone number detection.
672 const char kNetworkCountryIso
[] = "network-country-iso";
675 #if defined(OS_POSIX)
676 // Causes the child processes to cleanly exit via calling exit().
677 const char kChildCleanExit
[] = "child-clean-exit";
680 #if defined(OS_POSIX) && !defined(OS_MACOSX)
681 // Specify the amount the trackpad should scroll by.
682 const char kScrollPixels
[] = "scroll-pixels";
685 #if defined(OS_MACOSX) || defined(OS_WIN)
686 // Use the system SSL library (Secure Transport on Mac, SChannel on Windows)
687 // instead of NSS for SSL.
688 const char kUseSystemSSL
[] = "use-system-ssl";
691 // Enable per-tile page painting.
692 const char kEnablePerTilePainting
[] = "enable-per-tile-painting";
694 // Disables the use of a 3D software rasterizer.
695 const char kDisableSoftwareRasterizer
[] = "disable-software-rasterizer";
697 #if defined(USE_AURA)
698 // Configures the time after a GestureFlingCancel in which taps are cancelled.
699 extern const char kFlingTapSuppressMaxDown
[] = "fling-tap-suppress-max-down";
701 // Maximum time between mousedown and mouseup to be considered a tap.
702 extern const char kFlingTapSuppressMaxGap
[] = "fling-tap-suppress-max-gap";
704 // Forces usage of the test compositor. Needed to run ui tests on bots.
705 extern const char kTestCompositor
[] = "test-compositor";
708 // Sets the tile size used by composited layers.
709 const char kDefaultTileWidth
[] = "default-tile-width";
710 const char kDefaultTileHeight
[] = "default-tile-height";
712 // Sets the width and height above which a composited layer will get tiled.
713 const char kMaxUntiledLayerWidth
[] = "max-untiled-layer-width";
714 const char kMaxUntiledLayerHeight
[] = "max-untiled-layer-height";
716 const char kEnableFixedPositionCreatesStackingContext
[]
717 = "enable-fixed-position-creates-stacking-context";
718 const char kDisableFixedPositionCreatesStackingContext
[]
719 = "disable-fixed-position-creates-stacking-context";
721 } // namespace switches