Enable link highlight be default on ChromeOS.
[chromium-blink-merge.git] / content / public / common / content_switches.cc
blob0e418155e62b8d50b5ac5623622fe3d1729e47af
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"
7 namespace switches {
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
20 // is terminated.
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 // Disable antialiasing on 2d canvas.
49 const char kDisable2dCanvasAntialiasing[] = "disable-canvas-aa";
51 // Disables accelerated compositing.
52 const char kDisableAcceleratedCompositing[] = "disable-accelerated-compositing";
54 // Disables the hardware acceleration of 3D CSS and animation.
55 const char kDisableAcceleratedLayers[] = "disable-accelerated-layers";
57 // Disables the hardware acceleration of plugins.
58 const char kDisableAcceleratedPlugins[] = "disable-accelerated-plugins";
60 // Disables GPU accelerated video display.
61 const char kDisableAcceleratedVideo[] = "disable-accelerated-video";
63 // Disables the alternate window station for the renderer.
64 const char kDisableAltWinstation[] = "disable-winsta";
66 // Disable the ApplicationCache.
67 const char kDisableApplicationCache[] = "disable-application-cache";
69 // TODO(scherkus): remove --disable-audio when we have a proper fallback
70 // mechanism.
71 const char kDisableAudio[] = "disable-audio";
73 // Disable limits on the number of backing stores. Can prevent blinking for
74 // users with many windows/tabs and lots of memory.
75 const char kDisableBackingStoreLimit[] = "disable-backing-store-limit";
77 // Disables HTML5 DB support.
78 const char kDisableDatabases[] = "disable-databases";
80 // Disables data transfer items.
81 const char kDisableDataTransferItems[] = "disable-data-transfer-items";
83 // Disable deferred 2d canvas rendering.
84 const char kDisableDeferred2dCanvas[] = "disable-deferred-2d-canvas";
86 // Disables desktop notifications (default enabled on windows).
87 const char kDisableDesktopNotifications[] = "disable-desktop-notifications";
89 // Disables device orientation events.
90 const char kDisableDeviceOrientation[] = "disable-device-orientation";
92 #if defined(OS_ANDROID)
93 // WebGL is disabled by default on Android.
94 const char kEnableExperimentalWebGL[] = "enable-webgl";
95 #else
96 // Disable experimental WebGL support.
97 const char kDisableExperimentalWebGL[] = "disable-webgl";
98 #endif
100 // Blacklist the GPU for accelerated compositing.
101 const char kBlacklistAcceleratedCompositing[] =
102 "blacklist-accelerated-compositing";
104 // Blacklist the GPU for WebGL.
105 const char kBlacklistWebGL[] = "blacklist-webgl";
107 // Disable FileSystem API.
108 const char kDisableFileSystem[] = "disable-file-system";
110 // Disable 3D inside of flapper.
111 const char kDisableFlash3d[] = "disable-flash-3d";
113 // Disable using 3D to present fullscreen flash
114 const char kDisableFlashFullscreen3d[] = "disable-flash-fullscreen-3d";
116 // Disable Stage3D inside of flapper.
117 const char kDisableFlashStage3d[] = "disable-flash-stage3d";
119 // Suppresses support for the Geolocation javascript API.
120 const char kDisableGeolocation[] = "disable-geolocation";
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 RenderThread's HistogramCustomizer.
144 const char kDisableHistogramCustomizer[] = "disable-histogram-customizer";
146 // Disable the use of an ImageTransportSurface. This means the GPU process
147 // will present the rendered page rather than the browser process.
148 const char kDisableImageTransportSurface[] = "disable-image-transport-surface";
150 // Use hardware gpu, if available, for tests.
151 const char kUseGpuInTests[] = "use-gpu-in-tests";
153 // Disables GPU hardware acceleration. If software renderer is not in place,
154 // then the GPU process won't launch.
155 const char kDisableGpu[] = "disable-gpu";
157 // Disable the thread that crashes the GPU process if it stops responding to
158 // messages.
159 const char kDisableGpuWatchdog[] = "disable-gpu-watchdog";
161 // Prevent Java from running.
162 const char kDisableJava[] = "disable-java";
164 // Don't execute JavaScript (browser JS like the new tab page still runs).
165 const char kDisableJavaScript[] = "disable-javascript";
167 // Disable JavaScript I18N API.
168 const char kDisableJavaScriptI18NAPI[] = "disable-javascript-i18n-api";
170 // Disable LocalStorage.
171 const char kDisableLocalStorage[] = "disable-local-storage";
173 // Force logging to be disabled. Logging is enabled by default in debug
174 // builds.
175 const char kDisableLogging[] = "disable-logging";
177 // Prevent plugins from running.
178 const char kDisablePlugins[] = "disable-plugins";
180 // Disables remote web font support. SVG font should always work whether this
181 // option is specified or not.
182 const char kDisableRemoteFonts[] = "disable-remote-fonts";
184 // Turns off the accessibility in the renderer.
185 const char kDisableRendererAccessibility[] = "disable-renderer-accessibility";
187 // Disable False Start in SSL and TLS connections.
188 const char kDisableSSLFalseStart[] = "disable-ssl-false-start";
190 // Disable smooth scrolling for testing.
191 const char kDisableSmoothScrolling[] = "disable-smooth-scrolling";
193 // Disable the seccomp sandbox (Linux only)
194 const char kDisableSeccompSandbox[] = "disable-seccomp-sandbox";
196 // Disable the seccomp filter sandbox (Linux only)
197 const char kDisableSeccompFilterSandbox[] = "disable-seccomp-filter-sandbox";
199 // Disable session storage.
200 const char kDisableSessionStorage[] = "disable-session-storage";
202 // Enable shared workers. Functionality not yet complete.
203 const char kDisableSharedWorkers[] = "disable-shared-workers";
205 // Disables site-specific tailoring to compatibility issues in WebKit.
206 const char kDisableSiteSpecificQuirks[] = "disable-site-specific-quirks";
208 // Disables speech input.
209 const char kDisableSpeechInput[] = "disable-speech-input";
211 // Specifies the request key for the continuous speech recognition webservice.
212 const char kSpeechRecognitionWebserviceKey[] = "speech-service-key";
214 #if defined(OS_ANDROID)
215 // Enable web audio API.
216 const char kEnableWebAudio[] = "enable-webaudio";
218 // WebRTC is disabled by default on Android.
219 const char kEnableWebRTC[] = "enable-webrtc";
220 #else
221 // Disable web audio API.
222 const char kDisableWebAudio[] = "disable-webaudio";
223 #endif
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 // Loosen security. Needed for tests using some of the functionality of
245 // |DOMAutomationController|.
246 const char kReduceSecurityForDomAutomationTests[] =
247 "reduce-security-for-dom-automation-tests";
249 // Enable hardware accelerated page painting.
250 const char kEnableAcceleratedPainting[] = "enable-accelerated-painting";
252 // Enable gpu-accelerated SVG/W3C filters.
253 const char kEnableAcceleratedFilters[] = "enable-accelerated-filters";
255 // Turns on extremely verbose logging of accessibility events.
256 const char kEnableAccessibilityLogging[] = "enable-accessibility-logging";
258 // Enables browser plugin compositing experiment.
259 const char kDisableBrowserPluginCompositing[] =
260 "disable-browser-plugin-compositing";
262 // Enables browser plugin for all types of pages.
263 const char kEnableBrowserPluginForAllViewTypes[] =
264 "enable-browser-plugin-for-all-view-types";
266 const char kEnableBrowserPluginPointerLock[] =
267 "enable-browser-plugin-pointer-lock";
269 // Enable/Disable the creation of compositing layers for fixed position
270 // elements. Three options are needed to support four possible scenarios:
271 // 1. Default (disabled)
272 // 2. Enabled always (to allow dogfooding)
273 // 3. Disabled always (to give safety fallback for users)
274 // 4. Enabled only if we detect a highDPI display
276 // Option #4 may soon be the default, because the feature is needed soon for
277 // high DPI, but cannot be used (yet) for low DPI. Options #2 and #3 will
278 // override Option #4.
279 const char kEnableCompositingForFixedPosition[] =
280 "enable-fixed-position-compositing";
281 const char kDisableCompositingForFixedPosition[] =
282 "disable-fixed-position-compositing";
283 const char kEnableHighDpiCompositingForFixedPosition[] =
284 "enable-high-dpi-fixed-position-compositing";
286 // Enables CSS3 custom filters
287 const char kEnableCssShaders[] = "enable-css-shaders";
289 // Enables delegated renderer.
290 const char kEnableDelegatedRenderer[] = "enable-delegated-renderer";
292 // Enables device motion events.
293 const char kEnableDeviceMotion[] = "enable-device-motion";
295 // Enables restarting interrupted downloads.
296 const char kEnableDownloadResumption[] = "enable-download-resumption";
298 // Enables WebKit features that are in development.
299 const char kEnableExperimentalWebKitFeatures[] =
300 "enable-experimental-webkit-features";
302 // Disables the threaded HTML parser in WebKit
303 const char kDisableThreadedHTMLParser[] = "disable-threaded-html-parser";
305 // Enables the fastback page cache.
306 const char kEnableFastback[] = "enable-fastback";
308 // By default, a page is laid out to fill the entire width of the window.
309 // This flag fixes the layout of the page to a default of 980 CSS pixels,
310 // or to a specified width and height using --enable-fixed-layout=w,h
311 const char kEnableFixedLayout[] = "enable-fixed-layout";
313 // Disable the JavaScript Full Screen API.
314 const char kDisableFullScreen[] = "disable-fullscreen";
316 // Enable Text Service Framework(TSF) for text inputting instead of IMM32. This
317 // flag is ignored on Metro environment.
318 const char kEnableTextServicesFramework[] = "enable-text-services-framework";
320 // Enable Gesture Tap Highlight
321 const char kEnableGestureTapHighlight[] = "enable-gesture-tap-highlight";
322 const char kDisableGestureTapHighlight[] = "disable-gesture-tap-highlight";
324 // Enables the GPU benchmarking extension
325 const char kEnableGpuBenchmarking[] = "enable-gpu-benchmarking";
327 // Enables TRACE for GL calls in the renderer.
328 const char kEnableGpuClientTracing[] = "enable-gpu-client-tracing";
330 // Enables the memory benchmarking extension
331 const char kEnableMemoryBenchmarking[] = "enable-memory-benchmarking";
333 // Force logging to be enabled. Logging is disabled by default in release
334 // builds.
335 const char kEnableLogging[] = "enable-logging";
337 // Disable Media Source API on <audio>/<video> elements.
338 const char kDisableMediaSource[] = "disable-media-source";
340 // Use fake device for MediaStream to replace actual camera and microphone.
341 const char kUseFakeDeviceForMediaStream[] = "use-fake-device-for-media-stream";
343 // On Windows, converts the page to the currently-installed monitor profile.
344 // This does NOT enable color management for images. The source is still
345 // assumed to be sRGB.
346 const char kEnableMonitorProfile[] = "enable-monitor-profile";
348 // Enables compositor-accelerated touch-screen pinch gestures.
349 const char kEnablePinch[] = "enable-pinch";
351 // Enable caching of pre-parsed JS script data. See http://crbug.com/32407.
352 const char kEnablePreparsedJsCaching[] = "enable-preparsed-js-caching";
354 // Enable privileged WebGL extensions; without this switch such extensions are
355 // available only to Chrome extensions.
356 const char kEnablePrivilegedWebGLExtensions[] =
357 "enable-privileged-webgl-extensions";
359 // Aggressively free GPU command buffers belonging to hidden tabs.
360 const char kEnablePruneGpuCommandBuffers[] =
361 "enable-prune-gpu-command-buffers";
363 // Enable screen capturing support for MediaStream API.
364 const char kEnableUserMediaScreenCapturing[] =
365 "enable-usermedia-screen-capturing";
367 // Enables TLS cached info extension.
368 const char kEnableSSLCachedInfo[] = "enable-ssl-cached-info";
370 // Cause the OS X sandbox write to syslog every time an access to a resource
371 // is denied by the sandbox.
372 const char kEnableSandboxLogging[] = "enable-sandbox-logging";
374 // Enable the seccomp sandbox (Linux only)
375 const char kEnableSeccompSandbox[] = "enable-seccomp-sandbox";
377 // On platforms that support it, enables smooth scroll animation.
378 const char kEnableSmoothScrolling[] = "enable-smooth-scrolling";
380 // Enables StatsTable, logging statistics to a global named shared memory table.
381 const char kEnableStatsTable[] = "enable-stats-table";
383 // Experimentally ensures that each renderer process:
384 // 1) Only handles rendering for pages from a single site, apart from iframes.
385 // (Note that a page can reference content from multiple origins due to images,
386 // JavaScript files, etc. Cross-site iframes are also loaded in-process.)
387 // 2) Only has authority to see or use cookies for the page's top-level origin.
388 // (So if a.com iframes b.com, the b.com network request will be sent without
389 // cookies.)
390 // This is expected to break compatibility with many pages for now. Unlike the
391 // --site-per-process flag, this allows cross-site iframes, but it blocks all
392 // cookies on cross-site requests.
393 const char kEnableStrictSiteIsolation[] = "enable-strict-site-isolation";
395 // Enable multithreaded GPU compositing of web content.
396 const char kEnableThreadedCompositing[] = "enable-threaded-compositing";
398 // Allow GL contexts to be automatically virtualized (shared between command
399 // buffer clients) if they are compatible.
400 const char kEnableVirtualGLContexts[] = "enable-virtual-gl-contexts";
402 // Disable multithreaded GPU compositing of web content.
403 const char kDisableThreadedCompositing[] = "disable-threaded-compositing";
405 // Enable use of experimental TCP sockets API for sending data in the
406 // SYN packet.
407 const char kEnableTcpFastOpen[] = "enable-tcp-fastopen";
409 // Disables hardware acceleration of video decode, where available.
410 const char kDisableAcceleratedVideoDecode[] =
411 "disable-accelerated-video-decode";
413 // Enables the use of the viewport meta tag, which allows
414 // pages to control aspects of their own layout. This also turns on touch-screen
415 // pinch gestures.
416 const char kEnableViewport[] = "enable-viewport";
418 // Enables experimental features for the geolocation API.
419 // Current features:
420 // - CoreLocation support for Mac OS X 10.6
421 // - Gateway location for Linux and Windows
422 // - Location platform support for Windows 7
423 const char kExperimentalLocationFeatures[] = "experimental-location-features";
425 // Load NPAPI plugins from the specified directory.
426 const char kExtraPluginDir[] = "extra-plugin-dir";
428 // If accelerated compositing is supported, always enter compositing mode for
429 // the base layer even when compositing is not strictly required.
430 const char kForceCompositingMode[] = "force-compositing-mode";
432 // This flag disables force compositing mode and prevents it from being enabled
433 // via field trials.
434 const char kDisableForceCompositingMode[] = "disable-force-compositing-mode";
436 // Some field trials may be randomized in the browser, and the randomly selected
437 // outcome needs to be propagated to the renderer. For instance, this is used
438 // to modify histograms recorded in the renderer, or to get the renderer to
439 // also set of its state (initialize, or not initialize components) to match the
440 // experiment(s). The option is also useful for forcing field trials when
441 // testing changes locally. The argument is a list of name and value pairs,
442 // separated by slashes. See FieldTrialList::CreateTrialsFromString() in
443 // field_trial.h for details.
444 const char kForceFieldTrials[] = "force-fieldtrials";
446 // Force renderer accessibility to be on instead of enabling it on demand when
447 // a screen reader is detected. The disable-renderer-accessibility switch
448 // overrides this if present.
449 const char kForceRendererAccessibility[] = "force-renderer-accessibility";
451 // Force the compositor to use its software implementation instead of GL.
452 const char kEnableSoftwareCompositingGLAdapter[] =
453 "enable-software-compositing-gl-adapter";
455 // Passes gpu device_id from browser process to GPU process.
456 const char kGpuDeviceID[] = "gpu-device-id";
458 // Passes gpu driver_vendor from browser process to GPU process.
459 const char kGpuDriverVendor[] = "gpu-driver-vendor";
461 // Passes gpu driver_version from browser process to GPU process.
462 const char kGpuDriverVersion[] = "gpu-driver-version";
464 // Extra command line options for launching the GPU process (normally used
465 // for debugging). Use like renderer-cmd-prefix.
466 const char kGpuLauncher[] = "gpu-launcher";
468 // Makes this process a GPU sub-process.
469 const char kGpuProcess[] = "gpu-process";
471 // Causes the GPU process to display a dialog on launch.
472 const char kGpuStartupDialog[] = "gpu-startup-dialog";
474 // Passes gpu vendor_id from browser process to GPU process.
475 const char kGpuVendorID[] = "gpu-vendor-id";
477 // These mappings only apply to the host resolver.
478 const char kHostResolverRules[] = "host-resolver-rules";
480 // Ignores certificate-related errors.
481 const char kIgnoreCertificateErrors[] = "ignore-certificate-errors";
483 // Ignores GPU blacklist.
484 const char kIgnoreGpuBlacklist[] = "ignore-gpu-blacklist";
486 // Run the GPU process as a thread in the browser process.
487 const char kInProcessGPU[] = "in-process-gpu";
489 // Runs plugins inside the renderer process
490 const char kInProcessPlugins[] = "in-process-plugins";
492 // Runs WebGL inside the renderer process.
493 const char kInProcessWebGL[] = "in-process-webgl";
495 // Specifies the flags passed to JS engine
496 const char kJavaScriptFlags[] = "js-flags";
498 // Load an NPAPI plugin from the specified path.
499 const char kLoadPlugin[] = "load-plugin";
501 // Sets the minimum log level. Valid values are from 0 to 3:
502 // INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3.
503 const char kLoggingLevel[] = "log-level";
505 // Make plugin processes log their sent and received messages to VLOG(1).
506 const char kLogPluginMessages[] = "log-plugin-messages";
508 // Sample memory usage with high frequency and store the results to the
509 // Renderer.Memory histogram. Used in memory tests.
510 const char kMemoryMetrics[] = "memory-metrics";
512 // Causes the process to run as a NativeClient broker
513 // (used for launching NaCl loader processes on 64-bit Windows).
514 const char kNaClBrokerProcess[] = "nacl-broker";
516 // Causes the process to run as a NativeClient loader.
517 const char kNaClLoaderProcess[] = "nacl-loader";
519 // Don't send HTTP-Referer headers.
520 const char kNoReferrers[] = "no-referrers";
522 // Disables the sandbox for all process types that are normally sandboxed.
523 const char kNoSandbox[] = "no-sandbox";
525 // Enables the sandboxed processes to run without a job object assigned to them.
526 // This flag is required to allow Chrome to run in RemoteApps or Citrix. This
527 // flag can reduce the security of the sandboxed processes and allow them to do
528 // certain API calls like shut down Windows or access the clipboard. Also we
529 // lose the chance to kill some processes until the outer job that owns them
530 // finishes.
531 const char kAllowNoSandboxJob[] = "allow-no-sandbox-job";
533 // Specifies a command that should be used to launch the plugin process. Useful
534 // for running the plugin process through purify or quantify. Ex:
535 // --plugin-launcher="path\to\purify /Run=yes"
536 const char kPluginLauncher[] = "plugin-launcher";
538 // Tells the plugin process the path of the plugin to load
539 const char kPluginPath[] = "plugin-path";
541 // Causes the process to run as a plugin subprocess.
542 const char kPluginProcess[] = "plugin";
544 // Causes the plugin process to display a dialog on launch.
545 const char kPluginStartupDialog[] = "plugin-startup-dialog";
547 // Argument to the process type that indicates a PPAPI broker process type.
548 const char kPpapiBrokerProcess[] = "ppapi-broker";
550 // Runs PPAPI (Pepper) plugins in-process.
551 const char kPpapiInProcess[] = "ppapi-in-process";
553 // Like kPluginLauncher for PPAPI plugins.
554 const char kPpapiPluginLauncher[] = "ppapi-plugin-launcher";
556 // Argument to the process type that indicates a PPAPI plugin process type.
557 const char kPpapiPluginProcess[] = "ppapi";
559 // Causes the PPAPI sub process to display a dialog on launch. Be sure to use
560 // --no-sandbox as well or the sandbox won't allow the dialog to display.
561 const char kPpapiStartupDialog[] = "ppapi-startup-dialog";
563 // Runs a single process for each site (i.e., group of pages from the same
564 // registered domain) the user visits. We default to using a renderer process
565 // for each site instance (i.e., group of pages from the same registered
566 // domain with script connections to each other).
567 const char kProcessPerSite[] = "process-per-site";
569 // Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own
570 // renderer process. We default to using a renderer process for each
571 // site instance (i.e., group of pages from the same registered domain with
572 // script connections to each other).
573 const char kProcessPerTab[] = "process-per-tab";
575 // The value of this switch determines whether the process is started as a
576 // renderer or plugin host. If it's empty, it's the browser.
577 const char kProcessType[] = "type";
579 // Register Pepper plugins (see pepper_plugin_registry.cc for its format).
580 const char kRegisterPepperPlugins[] = "register-pepper-plugins";
582 // Enables remote debug over HTTP on the specified port.
583 const char kRemoteDebuggingPort[] = "remote-debugging-port";
585 // Causes the renderer process to throw an assertion on launch.
586 const char kRendererAssertTest[] = "renderer-assert-test";
588 // On POSIX only: the contents of this flag are prepended to the renderer
589 // command line. Useful values might be "valgrind" or "xterm -e gdb --args".
590 const char kRendererCmdPrefix[] = "renderer-cmd-prefix";
592 // Causes the process to run as renderer instead of as browser.
593 const char kRendererProcess[] = "renderer";
595 // Overrides the default/calculated limit to the number of renderer processes.
596 // Very high values for this setting can lead to high memory/resource usage
597 // or instability.
598 const char kRendererProcessLimit[] = "renderer-process-limit";
600 // Causes the renderer process to display a dialog on launch.
601 const char kRendererStartupDialog[] = "renderer-startup-dialog";
603 // Causes the process to run as a service process.
604 const char kServiceProcess[] = "service";
606 // Renders a border around composited Render Layers to help debug and study
607 // layer compositing.
608 const char kShowCompositedLayerBorders[] = "show-composited-layer-borders";
610 // Draws a textual dump of the compositor layer tree to help debug and study
611 // layer compositing.
612 const char kShowCompositedLayerTree[] = "show-composited-layer-tree";
614 // Draws a FPS indicator
615 const char kShowFPSCounter[] = "show-fps-counter";
617 // Enables accelerated compositing for overflow scroll. Promotes eligible
618 // overflow:scroll elements to layers to enable accelerated scrolling for them.
619 const char kEnableAcceleratedOverflowScroll[] =
620 "enable-accelerated-overflow-scroll";
622 // Disables accelerated compositing for overflow scroll.
623 extern const char kDisableAcceleratedOverflowScroll[] =
624 "disable-accelerated-overflow-scroll";
626 // Enables accelerated compositing for scrollable frames for accelerated
627 // scrolling for them. Requires kForceCompositingMode.
628 const char kEnableAcceleratedScrollableFrames[] =
629 "enable-accelerated-scrollable-frames";
631 // Enables accelerated scrolling by the compositor for frames. Requires
632 // kForceCompositingMode and kEnableAcceleratedScrollableFrames.
633 const char kEnableCompositedScrollingForFrames[] =
634 "enable-composited-scrolling-for-frames";
636 // Visibly render a border around paint rects in the web page to help debug
637 // and study painting behavior.
638 const char kShowPaintRects[] = "show-paint-rects";
640 // Map mouse input events into touch gesture events. Useful for debugging touch
641 // gestures without needing a touchscreen.
642 const char kSimulateTouchScreenWithMouse[] =
643 "simulate-touch-screen-with-mouse";
645 // Runs the renderer and plugins in the same process as the browser
646 const char kSingleProcess[] = "single-process";
648 // Experimentally enforces a one-site-per-process security policy.
649 // All cross-site navigations force process swaps, and we can restrict a
650 // renderer process's access rights based on its site. For details, see:
651 // http://www.chromium.org/developers/design-documents/site-isolation
653 // Unlike --enable-strict-site-isolation (which allows cross-site iframes),
654 // this flag blocks cross-site documents even in iframes, until out-of-process
655 // iframe support is available. Cross-site network requests do attach the
656 // normal set of cookies, but a renderer process is only allowed to view or
657 // modify cookies for its own site (via JavaScript).
658 // TODO(irobert): Implement the cross-site document blocking in
659 // http://crbug.com/159215.
660 const char kSitePerProcess[] = "site-per-process";
662 // Skip gpu info collection, blacklist loading, and blacklist auto-update
663 // scheduling at browser startup time.
664 // Therefore, all GPU features are available, and about:gpu page shows empty
665 // content. The switch is intended only for tests.
666 const char kSkipGpuDataLoading[] = "skip-gpu-data-loading";
668 // GestureTapDown events are deferred by this many miillseconds before
669 // sending them to the renderer.
670 const char kTapDownDeferralTimeMs[] = "tap-down-deferral-time";
672 // Runs the security test for the renderer sandbox.
673 const char kTestSandbox[] = "test-sandbox";
675 // Allows for forcing socket connections to http/https to use fixed ports.
676 const char kTestingFixedHttpPort[] = "testing-fixed-http-port";
677 const char kTestingFixedHttpsPort[] = "testing-fixed-https-port";
679 // Causes TRACE_EVENT flags to be recorded from startup. Optionally, can
680 // specify the specific trace categories to include (e.g.
681 // --trace-startup=base,net) otherwise, all events are recorded. Setting this
682 // flag results in the first call to BeginTracing() to receive all trace events
683 // since startup. In Chrome, you may find --trace-startup-file and
684 // --trace-startup-duration to control the auto-saving of the trace (not
685 // supported in the base-only TraceLog component).
686 const char kTraceStartup[] = "trace-startup";
688 // If supplied, sets the file which startup tracing will be stored into, if
689 // omitted the default will be used "chrometrace.log" in the current directory.
690 // Has no effect unless --trace-startup is also supplied.
691 // Example: --trace-startup --trace-startup-file=/tmp/trace_event.log
692 // As a special case, can be set to 'none' - this disables automatically saving
693 // the result to a file and the first manually recorded trace will then receive
694 // all events since startup.
695 const char kTraceStartupFile[] = "trace-startup-file";
697 // Sets the time in seconds until startup tracing ends. If omitted a default of
698 // 5 seconds is used. Has no effect without --trace-startup, or if
699 // --startup-trace-file=none was supplied.
700 const char kTraceStartupDuration[] = "trace-startup-duration";
702 // Prioritizes the UI's command stream in the GPU process
703 extern const char kUIPrioritizeInGpuProcess[] =
704 "ui-prioritize-in-gpu-process";
706 // A string used to override the default user agent with a custom one.
707 const char kUserAgent[] = "user-agent";
709 // On POSIX only: the contents of this flag are prepended to the utility
710 // process command line. Useful values might be "valgrind" or "xterm -e gdb
711 // --args".
712 const char kUtilityCmdPrefix[] = "utility-cmd-prefix";
714 // Causes the process to run as a utility subprocess.
715 const char kUtilityProcess[] = "utility";
717 // The utility process is sandboxed, with access to one directory. This flag
718 // specifies the directory that can be accessed.
719 const char kUtilityProcessAllowedDir[] = "utility-allowed-dir";
721 // Will add kWaitForDebugger to every child processes. If a value is passed, it
722 // will be used as a filter to determine if the child process should have the
723 // kWaitForDebugger flag passed on or not.
724 const char kWaitForDebuggerChildren[] = "wait-for-debugger-children";
726 // Choose which logging channels in WebCore to activate. See
727 // Logging.cpp in WebKit's WebCore for a list of available channels.
728 const char kWebCoreLogChannels[] = "webcore-log-channels";
730 // Causes the process to run as a worker subprocess.
731 const char kWorkerProcess[] = "worker";
733 // The prefix used when starting the zygote process. (i.e. 'gdb --args')
734 const char kZygoteCmdPrefix[] = "zygote-cmd-prefix";
736 // Causes the process to run as a renderer zygote.
737 const char kZygoteProcess[] = "zygote";
739 // Enables moving cursor by word in visual order.
740 const char kEnableVisualWordMovement[] = "enable-visual-word-movement";
742 // Set when Chromium should use a mobile user agent.
743 const char kUseMobileUserAgent[] = "use-mobile-user-agent";
745 #if defined(OS_ANDROID)
746 // Disable history logging for media elements.
747 const char kDisableMediaHistoryLogging[] = "disable-media-history";
749 // Disable user gesture requirement for media playback.
750 const char kDisableGestureRequirementForMediaPlayback[] =
751 "disable-gesture-requirement-for-media-playback";
753 // The telephony region (ISO country code) to use in phone number detection.
754 const char kNetworkCountryIso[] = "network-country-iso";
756 // Set to enable compatibility with legacy WebView synchronous APIs.
757 const char kEnableWebViewSynchronousAPIs[] = "enable-webview-synchronous-apis";
758 #endif
760 #if defined(OS_CHROMEOS)
761 // Disables panel fitting (used for mirror mode).
762 const char kDisablePanelFitting[] = "disable-panel-fitting";
763 #endif
765 #if defined(OS_POSIX)
766 // Causes the child processes to cleanly exit via calling exit().
767 const char kChildCleanExit[] = "child-clean-exit";
768 #endif
770 #if defined(OS_MACOSX) && !defined(OS_IOS)
771 const char kDisableCarbonInterposing[] = "disable-carbon-interposing";
772 #endif
774 // Disables the use of a 3D software rasterizer.
775 const char kDisableSoftwareRasterizer[] = "disable-software-rasterizer";
777 #if defined(USE_AURA)
778 // Forces usage of the test compositor. Needed to run ui tests on bots.
779 extern const char kTestCompositor[] = "test-compositor";
780 #endif
782 // Sets the tile size used by composited layers.
783 const char kDefaultTileWidth[] = "default-tile-width";
784 const char kDefaultTileHeight[] = "default-tile-height";
786 // Sets the width and height above which a composited layer will get tiled.
787 const char kMaxUntiledLayerWidth[] = "max-untiled-layer-width";
788 const char kMaxUntiledLayerHeight[] = "max-untiled-layer-height";
790 // Use ExynosVideoDecodeAccelerator for video decode (instead of SECOMX)
791 const char kUseExynosVda[] = "use-exynos-vda";
793 const char kEnableFixedPositionCreatesStackingContext[]
794 = "enable-fixed-position-creates-stacking-context";
795 const char kDisableFixedPositionCreatesStackingContext[]
796 = "disable-fixed-position-creates-stacking-context";
798 // Defer image decoding in WebKit until painting.
799 const char kEnableDeferredImageDecoding[] = "enable-deferred-image-decoding";
801 // Disables history navigation in response to horizontal overscroll.
802 const char kDisableOverscrollHistoryNavigation[] =
803 "disable-overscroll-history-navigation";
805 } // namespace switches