Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "content/public/common/content_switches.h" |
| 6 | |
| 7 | namespace switches { |
| 8 | |
| 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"; |
| 12 | |
| 13 | // Allows debugging of sandboxed processes (see zygote_main_linux.cc). |
| 14 | const char kAllowSandboxDebugging[] = "allow-sandbox-debugging"; |
| 15 | |
| 16 | // Allow compositing on chrome:// pages. |
| 17 | const char kAllowWebUICompositing[] = "allow-webui-compositing"; |
| 18 | |
| 19 | // Enumerates and prints a child process' most dangerous handles when it |
| 20 | // is terminated. |
| 21 | const char kAuditHandles[] = "enable-handle-auditing"; |
| 22 | |
| 23 | // The same as kAuditHandles except all handles are enumerated. |
| 24 | const char kAuditAllHandles[] = "enable-handle-auditing-all"; |
| 25 | |
| 26 | // Causes the browser process to throw an assertion on startup. |
| 27 | const char kBrowserAssertTest[] = "assert-test"; |
| 28 | |
| 29 | // Causes the browser process to crash on startup. |
| 30 | const char kBrowserCrashTest[] = "crash-test"; |
| 31 | |
| 32 | // Path to the exe to run for the renderer and plugin subprocesses. |
| 33 | const char kBrowserSubprocessPath[] = "browser-subprocess-path"; |
| 34 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 35 | // Disables client-visible 3D APIs, in particular WebGL and Pepper 3D. |
| 36 | // This is controlled by policy and is kept separate from the other |
| 37 | // enable/disable switches to avoid accidentally regressing the policy |
| 38 | // support for controlling access to these APIs. |
| 39 | const char kDisable3DAPIs[] = "disable-3d-apis"; |
| 40 | |
| 41 | // Disable gpu-accelerated 2d canvas. |
| 42 | const char kDisableAccelerated2dCanvas[] = "disable-accelerated-2d-canvas"; |
| 43 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 44 | // Disable antialiasing on 2d canvas. |
| 45 | const char kDisable2dCanvasAntialiasing[] = "disable-canvas-aa"; |
| 46 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 47 | // Enable experimental canvas features, e.g. canvas 2D context attributes |
| 48 | const char kEnableExperimentalCanvasFeatures[] |
| 49 | = "enable-experimental-canvas-features"; |
| 50 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 51 | // Disables accelerated compositing. |
| 52 | const char kDisableAcceleratedCompositing[] = "disable-accelerated-compositing"; |
| 53 | |
| 54 | // Disables the hardware acceleration of 3D CSS and animation. |
| 55 | const char kDisableAcceleratedLayers[] = "disable-accelerated-layers"; |
| 56 | |
| 57 | // Disables the hardware acceleration of plugins. |
| 58 | const char kDisableAcceleratedPlugins[] = "disable-accelerated-plugins"; |
| 59 | |
| 60 | // Disables GPU accelerated video display. |
| 61 | const char kDisableAcceleratedVideo[] = "disable-accelerated-video"; |
| 62 | |
| 63 | // Disables the alternate window station for the renderer. |
| 64 | const char kDisableAltWinstation[] = "disable-winsta"; |
| 65 | |
| 66 | // Disable the ApplicationCache. |
| 67 | const char kDisableApplicationCache[] = "disable-application-cache"; |
| 68 | // |
| 69 | // TODO(scherkus): remove --disable-audio when we have a proper fallback |
| 70 | // mechanism. |
| 71 | const char kDisableAudio[] = "disable-audio"; |
| 72 | |
| 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"; |
| 76 | |
| 77 | // Disables HTML5 DB support. |
| 78 | const char kDisableDatabases[] = "disable-databases"; |
| 79 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 80 | // Disables desktop notifications (default enabled on windows). |
| 81 | const char kDisableDesktopNotifications[] = "disable-desktop-notifications"; |
| 82 | |
| 83 | // Disables device orientation events. |
| 84 | const char kDisableDeviceOrientation[] = "disable-device-orientation"; |
| 85 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 86 | // Disable experimental WebGL support. |
| 87 | const char kDisableExperimentalWebGL[] = "disable-webgl"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 88 | |
| 89 | // Blacklist the GPU for accelerated compositing. |
| 90 | const char kBlacklistAcceleratedCompositing[] = |
| 91 | "blacklist-accelerated-compositing"; |
| 92 | |
| 93 | // Blacklist the GPU for WebGL. |
| 94 | const char kBlacklistWebGL[] = "blacklist-webgl"; |
| 95 | |
| 96 | // Disable FileSystem API. |
| 97 | const char kDisableFileSystem[] = "disable-file-system"; |
| 98 | |
| 99 | // Disable 3D inside of flapper. |
| 100 | const char kDisableFlash3d[] = "disable-flash-3d"; |
| 101 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 102 | // Disable Stage3D inside of flapper. |
| 103 | const char kDisableFlashStage3d[] = "disable-flash-stage3d"; |
| 104 | |
| 105 | // Suppresses support for the Geolocation javascript API. |
| 106 | const char kDisableGeolocation[] = "disable-geolocation"; |
| 107 | |
| 108 | // Disable GL multisampling. |
| 109 | const char kDisableGLMultisampling[] = "disable-gl-multisampling"; |
| 110 | |
| 111 | // Do not launch the GPU process shortly after browser process launch. Instead |
| 112 | // launch it when it is first needed. |
| 113 | const char kDisableGpuProcessPrelaunch[] = "disable-gpu-process-prelaunch"; |
| 114 | |
| 115 | // Disable the GPU process sandbox. |
| 116 | const char kDisableGpuSandbox[] = "disable-gpu-sandbox"; |
| 117 | |
| 118 | // Reduces the GPU process sandbox to be less strict. |
| 119 | const char kReduceGpuSandbox[] = "reduce-gpu-sandbox"; |
| 120 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 121 | // Suppresses hang monitor dialogs in renderer processes. This may allow slow |
| 122 | // unload handlers on a page to prevent the tab from closing, but the Task |
| 123 | // Manager can be used to terminate the offending process in this case. |
| 124 | const char kDisableHangMonitor[] = "disable-hang-monitor"; |
| 125 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 126 | // Disables HTML-based desktop notifications. |
| 127 | const char kDisableHTMLNotifications[] = "disable-html-notifications"; |
| 128 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 129 | // Disable the RenderThread's HistogramCustomizer. |
| 130 | const char kDisableHistogramCustomizer[] = "disable-histogram-customizer"; |
| 131 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 132 | // Disable the use of an ImageTransportSurface. This means the GPU process |
| 133 | // will present the rendered page rather than the browser process. |
| 134 | const char kDisableImageTransportSurface[] = "disable-image-transport-surface"; |
| 135 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 136 | // Use hardware gpu, if available, for tests. |
| 137 | const char kUseGpuInTests[] = "use-gpu-in-tests"; |
| 138 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 139 | // Disables GPU hardware acceleration. If software renderer is not in place, |
| 140 | // then the GPU process won't launch. |
| 141 | const char kDisableGpu[] = "disable-gpu"; |
| 142 | |
| 143 | // Disable the thread that crashes the GPU process if it stops responding to |
| 144 | // messages. |
| 145 | const char kDisableGpuWatchdog[] = "disable-gpu-watchdog"; |
| 146 | |
| 147 | // Prevent Java from running. |
| 148 | const char kDisableJava[] = "disable-java"; |
| 149 | |
| 150 | // Don't execute JavaScript (browser JS like the new tab page still runs). |
| 151 | const char kDisableJavaScript[] = "disable-javascript"; |
| 152 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 153 | // Disable LocalStorage. |
| 154 | const char kDisableLocalStorage[] = "disable-local-storage"; |
| 155 | |
| 156 | // Force logging to be disabled. Logging is enabled by default in debug |
| 157 | // builds. |
| 158 | const char kDisableLogging[] = "disable-logging"; |
| 159 | |
Ben Murdoch | eb525c5 | 2013-07-10 11:40:50 +0100 | [diff] [blame] | 160 | // Enables displaying net log events on the command line, or writing the events |
| 161 | // to a separate file if a file name is given. |
| 162 | const char kLogNetLog[] = "log-net-log"; |
| 163 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 164 | // Prevent plugins from running. |
| 165 | const char kDisablePlugins[] = "disable-plugins"; |
| 166 | |
| 167 | // Disables remote web font support. SVG font should always work whether this |
| 168 | // option is specified or not. |
| 169 | const char kDisableRemoteFonts[] = "disable-remote-fonts"; |
| 170 | |
| 171 | // Turns off the accessibility in the renderer. |
| 172 | const char kDisableRendererAccessibility[] = "disable-renderer-accessibility"; |
| 173 | |
| 174 | // Disable False Start in SSL and TLS connections. |
| 175 | const char kDisableSSLFalseStart[] = "disable-ssl-false-start"; |
| 176 | |
| 177 | // Disable smooth scrolling for testing. |
| 178 | const char kDisableSmoothScrolling[] = "disable-smooth-scrolling"; |
| 179 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 180 | // Disable the seccomp filter sandbox (seccomp-bpf) (Linux only). |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 181 | const char kDisableSeccompFilterSandbox[] = "disable-seccomp-filter-sandbox"; |
| 182 | |
| 183 | // Disable session storage. |
| 184 | const char kDisableSessionStorage[] = "disable-session-storage"; |
| 185 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 186 | // Disable the setuid sandbox (Linux only). |
| 187 | const char kDisableSetuidSandbox[] = "disable-setuid-sandbox"; |
| 188 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 189 | // Enable shared workers. Functionality not yet complete. |
| 190 | const char kDisableSharedWorkers[] = "disable-shared-workers"; |
| 191 | |
| 192 | // Disables site-specific tailoring to compatibility issues in WebKit. |
| 193 | const char kDisableSiteSpecificQuirks[] = "disable-site-specific-quirks"; |
| 194 | |
| 195 | // Disables speech input. |
| 196 | const char kDisableSpeechInput[] = "disable-speech-input"; |
| 197 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 198 | // Specifies the request key for the continuous speech recognition webservice. |
| 199 | const char kSpeechRecognitionWebserviceKey[] = "speech-service-key"; |
| 200 | |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 201 | // Enables the synthesis part of the Web Speech API. |
| 202 | const char kEnableSpeechSynthesis[] = "enable-speech-synthesis"; |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 203 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 204 | #if defined(OS_ANDROID) |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 205 | // WebRTC is enabled by default on Android. |
| 206 | const char kDisableWebRTC[] = "disable-webrtc"; |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 207 | |
| 208 | // Enable the recognition part of the Web Speech API. |
| 209 | const char kEnableSpeechRecognition[] = "enable-speech-recognition"; |
| 210 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 211 | #endif |
| 212 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 213 | // Disable web audio API. |
| 214 | const char kDisableWebAudio[] = "disable-webaudio"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 215 | |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 216 | #if defined(ENABLE_WEBRTC) |
| 217 | // Enables WebRTC AEC recordings. |
| 218 | const char kEnableWebRtcAecRecordings[] = "enable-webrtc-aec-recordings"; |
| 219 | |
| 220 | // Enable WebRTC DataChannels SCTP wire protocol support. |
| 221 | const char kEnableSCTPDataChannels[] = "enable-sctp-data-channels"; |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 222 | |
Torne (Richard Coles) | a36e592 | 2013-08-05 13:57:33 +0100 | [diff] [blame] | 223 | // Disable WebRTC device enumeration. |
| 224 | const char kDisableDeviceEnumeration[] = "disable-device-enumeration"; |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 225 | |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 226 | #endif |
| 227 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 228 | // Enable WebRTC to open TCP server sockets. |
| 229 | const char kEnableWebRtcTcpServerSocket[] = "enable-webrtc-tcp-server-socket"; |
| 230 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 231 | // Enables HW decode acceleration for WebRTC. |
| 232 | const char kEnableWebRtcHWDecoding[] = "enable-webrtc-hw-decoding"; |
| 233 | |
| 234 | // Enable CSS Transitions / Animations on the Web Animations model. |
| 235 | const char kEnableWebAnimationsCSS[] = "enable-web-animations-css"; |
| 236 | |
| 237 | // Enable SVG Animations on the Web Animations model. |
| 238 | const char kEnableWebAnimationsSVG[] = "enable-web-animations-svg"; |
| 239 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 240 | // Enables Web MIDI API. |
| 241 | const char kEnableWebMIDI[] = "enable-web-midi"; |
| 242 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 243 | // Don't enforce the same-origin policy. (Used by people testing their sites.) |
| 244 | const char kDisableWebSecurity[] = "disable-web-security"; |
| 245 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 246 | // Enable an experimental WebSocket implementation. |
| 247 | const char kEnableExperimentalWebSocket[] = "enable-experimental-websocket"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 248 | |
| 249 | // Disables WebKit's XSSAuditor. The XSSAuditor mitigates reflective XSS. |
| 250 | const char kDisableXSSAuditor[] = "disable-xss-auditor"; |
| 251 | |
| 252 | // Specifies if the |DOMAutomationController| needs to be bound in the |
| 253 | // renderer. This binding happens on per-frame basis and hence can potentially |
| 254 | // be a performance bottleneck. One should only enable it when automating dom |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 255 | // based tests. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 256 | const char kDomAutomationController[] = "dom-automation"; |
| 257 | |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 258 | // Specifies if the |StatsCollectionController| needs to be bound in the |
| 259 | // renderer. This binding happens on per-frame basis and hence can potentially |
| 260 | // be a performance bottleneck. One should only enable it when running a test |
| 261 | // that needs to access the provided statistics. |
| 262 | const char kStatsCollectionController[] = |
| 263 | "enable-stats-collection-bindings"; |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 264 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 265 | // Enable gpu-accelerated SVG/W3C filters. |
| 266 | const char kEnableAcceleratedFilters[] = "enable-accelerated-filters"; |
| 267 | |
| 268 | // Turns on extremely verbose logging of accessibility events. |
| 269 | const char kEnableAccessibilityLogging[] = "enable-accessibility-logging"; |
| 270 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 271 | // Enable notifications of audible/silent audio output from a render view. |
| 272 | // |
| 273 | // TODO(miu): Remove --enable-audible-notifications once the feature goes |
| 274 | // live. http://crbug.com/178934 |
| 275 | const char kEnableAudibleNotifications[] = "enable-audible-notifications"; |
| 276 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 277 | // Enables browser plugin compositing experiment. |
| 278 | const char kDisableBrowserPluginCompositing[] = |
| 279 | "disable-browser-plugin-compositing"; |
| 280 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 281 | // Enables browser plugin for all types of pages. |
| 282 | const char kEnableBrowserPluginForAllViewTypes[] = |
| 283 | "enable-browser-plugin-for-all-view-types"; |
| 284 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 285 | // Enables Drag and Drop into and out of Browser Plugin. |
| 286 | // kEnableBrowserPluginGuestViews must also be set at this time. |
| 287 | const char kEnableBrowserPluginDragDrop[] = "enable-browser-plugin-drag-drop"; |
| 288 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 289 | // Enable/Disable the creation of compositing layers for fixed position |
| 290 | // elements. Three options are needed to support four possible scenarios: |
| 291 | // 1. Default (disabled) |
| 292 | // 2. Enabled always (to allow dogfooding) |
| 293 | // 3. Disabled always (to give safety fallback for users) |
| 294 | // 4. Enabled only if we detect a highDPI display |
| 295 | // |
| 296 | // Option #4 may soon be the default, because the feature is needed soon for |
| 297 | // high DPI, but cannot be used (yet) for low DPI. Options #2 and #3 will |
| 298 | // override Option #4. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 299 | const char kEnableCompositingForFixedPosition[] = |
| 300 | "enable-fixed-position-compositing"; |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 301 | const char kDisableCompositingForFixedPosition[] = |
| 302 | "disable-fixed-position-compositing"; |
| 303 | const char kEnableHighDpiCompositingForFixedPosition[] = |
| 304 | "enable-high-dpi-fixed-position-compositing"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 305 | |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 306 | // Enable/Disable the creation of compositing layers for RenderLayers with a |
| 307 | // transition on a property that supports accelerated animation (that is, |
| 308 | // opacity, -webkit-transform, and -webkit-filter), even when no animation is |
| 309 | // running. These options allow for three possible scenarios: |
| 310 | // 1. Default (enabled only if we dectect a highDPI display) |
| 311 | // 2. Enabled always. |
| 312 | // 3. Disabled always. |
| 313 | const char kEnableCompositingForTransition[] = |
| 314 | "enable-transition-compositing"; |
| 315 | const char kDisableCompositingForTransition[] = |
| 316 | "disable-transition-compositing"; |
| 317 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 318 | // Enables CSS3 custom filters |
| 319 | const char kEnableCssShaders[] = "enable-css-shaders"; |
| 320 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 321 | // Disables delegated renderer. |
| 322 | const char kDisableDelegatedRenderer[] = "disable-delegated-renderer"; |
| 323 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 324 | // Enables delegated renderer. |
| 325 | const char kEnableDelegatedRenderer[] = "enable-delegated-renderer"; |
| 326 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 327 | // Enables device motion events. |
| 328 | const char kEnableDeviceMotion[] = "enable-device-motion"; |
| 329 | |
Torne (Richard Coles) | a36e592 | 2013-08-05 13:57:33 +0100 | [diff] [blame] | 330 | #if defined(OS_ANDROID) |
| 331 | // Disables device motion events. |
| 332 | const char kDisableDeviceMotion[] = "disable-device-motion"; |
| 333 | #endif |
| 334 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 335 | // Enables restarting interrupted downloads. |
| 336 | const char kEnableDownloadResumption[] = "enable-download-resumption"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 337 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 338 | // Enables Web Platform features that are in development. |
| 339 | const char kEnableExperimentalWebPlatformFeatures[] = |
| 340 | "enable-experimental-web-platform-features"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 341 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 342 | // Enables the CSS multicol implementation that uses the regions implementation. |
| 343 | const char kEnableRegionBasedColumns[] = |
| 344 | "enable-region-based-columns"; |
| 345 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 346 | // Disables the threaded HTML parser in WebKit |
| 347 | const char kDisableThreadedHTMLParser[] = "disable-threaded-html-parser"; |
| 348 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 349 | // By default, a page is laid out to fill the entire width of the window. |
| 350 | // This flag fixes the layout of the page to a default of 980 CSS pixels, |
| 351 | // or to a specified width and height using --enable-fixed-layout=w,h |
| 352 | const char kEnableFixedLayout[] = "enable-fixed-layout"; |
| 353 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 354 | // Disable the JavaScript Full Screen API. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 355 | const char kDisableFullScreen[] = "disable-fullscreen"; |
| 356 | |
| 357 | // Enable Text Service Framework(TSF) for text inputting instead of IMM32. This |
| 358 | // flag is ignored on Metro environment. |
| 359 | const char kEnableTextServicesFramework[] = "enable-text-services-framework"; |
| 360 | |
| 361 | // Enable Gesture Tap Highlight |
| 362 | const char kEnableGestureTapHighlight[] = "enable-gesture-tap-highlight"; |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 363 | const char kDisableGestureTapHighlight[] = "disable-gesture-tap-highlight"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 364 | |
| 365 | // Enables the GPU benchmarking extension |
| 366 | const char kEnableGpuBenchmarking[] = "enable-gpu-benchmarking"; |
| 367 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 368 | // Enables TRACE for GL calls in the renderer. |
| 369 | const char kEnableGpuClientTracing[] = "enable-gpu-client-tracing"; |
| 370 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 371 | // Enables support for inband text tracks in media content. |
| 372 | const char kEnableInbandTextTracks[] = "enable-inband-text-tracks"; |
| 373 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 374 | // Enables the memory benchmarking extension |
| 375 | const char kEnableMemoryBenchmarking[] = "enable-memory-benchmarking"; |
| 376 | |
Torne (Richard Coles) | a93a17c | 2013-05-15 11:34:50 +0100 | [diff] [blame] | 377 | // Enables the Skia benchmarking extension |
| 378 | const char kEnableSkiaBenchmarking[] = "enable-skia-benchmarking"; |
| 379 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 380 | // Force logging to be enabled. Logging is disabled by default in release |
| 381 | // builds. |
| 382 | const char kEnableLogging[] = "enable-logging"; |
| 383 | |
Ben Murdoch | 558790d | 2013-07-30 15:19:42 +0100 | [diff] [blame] | 384 | // Disables prefixed Media Source API (i.e., the WebKitMediaSource object). |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 385 | const char kDisableWebKitMediaSource[] = "disable-webkit-media-source"; |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 386 | |
| 387 | // Enables support for Encrypted Media Extensions (e.g. MediaKeys). |
| 388 | const char kEnableEncryptedMedia[] = "enable-encrypted-media"; |
| 389 | |
| 390 | // Disables prefixed Encrypted Media API (e.g. webkitGenerateKeyRequest()). |
| 391 | const char kDisableLegacyEncryptedMedia[] = "disable-legacy-encrypted-media"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 392 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 393 | // Use fake device for MediaStream to replace actual camera and microphone. |
| 394 | const char kUseFakeDeviceForMediaStream[] = "use-fake-device-for-media-stream"; |
| 395 | |
Ben Murdoch | eb525c5 | 2013-07-10 11:40:50 +0100 | [diff] [blame] | 396 | // Bypass the media stream infobar by selecting the default device for media |
| 397 | // streams (e.g. WebRTC). Works with --use-fake-device-for-media-stream. |
| 398 | const char kUseFakeUIForMediaStream[] = "use-fake-ui-for-media-stream"; |
| 399 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 400 | // On Windows, converts the page to the currently-installed monitor profile. |
| 401 | // This does NOT enable color management for images. The source is still |
| 402 | // assumed to be sRGB. |
| 403 | const char kEnableMonitorProfile[] = "enable-monitor-profile"; |
| 404 | |
Ben Murdoch | ca12bfa | 2013-07-23 11:17:05 +0100 | [diff] [blame] | 405 | // Enables the new chrome://media-internals page. |
| 406 | // http://crbug.com/260005 |
| 407 | const char kEnableNewMediaInternals[] = "enable-new-media-internals"; |
| 408 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 409 | // Enables compositor-accelerated touch-screen pinch gestures. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 410 | const char kEnablePinch[] = "enable-pinch"; |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 411 | const char kDisablePinch[] = "disable-pinch"; |
| 412 | |
| 413 | // Enables use of cache if offline, even if it's stale |
| 414 | const char kEnableOfflineCacheAccess[] = "enable-offline-cache-access"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 415 | |
| 416 | // Enable caching of pre-parsed JS script data. See http://crbug.com/32407. |
| 417 | const char kEnablePreparsedJsCaching[] = "enable-preparsed-js-caching"; |
| 418 | |
| 419 | // Enable privileged WebGL extensions; without this switch such extensions are |
| 420 | // available only to Chrome extensions. |
| 421 | const char kEnablePrivilegedWebGLExtensions[] = |
| 422 | "enable-privileged-webgl-extensions"; |
| 423 | |
| 424 | // Aggressively free GPU command buffers belonging to hidden tabs. |
| 425 | const char kEnablePruneGpuCommandBuffers[] = |
| 426 | "enable-prune-gpu-command-buffers"; |
| 427 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 428 | // Enable screen capturing support for MediaStream API. |
| 429 | const char kEnableUserMediaScreenCapturing[] = |
| 430 | "enable-usermedia-screen-capturing"; |
| 431 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 432 | // Enables TLS cached info extension. |
| 433 | const char kEnableSSLCachedInfo[] = "enable-ssl-cached-info"; |
| 434 | |
| 435 | // Cause the OS X sandbox write to syslog every time an access to a resource |
| 436 | // is denied by the sandbox. |
| 437 | const char kEnableSandboxLogging[] = "enable-sandbox-logging"; |
| 438 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 439 | // Enable spatial navigation |
| 440 | const char kEnableSpatialNavigation[] = "enable-spatial-navigation"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 441 | |
| 442 | // On platforms that support it, enables smooth scroll animation. |
| 443 | const char kEnableSmoothScrolling[] = "enable-smooth-scrolling"; |
| 444 | |
| 445 | // Enables StatsTable, logging statistics to a global named shared memory table. |
| 446 | const char kEnableStatsTable[] = "enable-stats-table"; |
| 447 | |
| 448 | // Experimentally ensures that each renderer process: |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 449 | // 1) Only handles rendering for pages from a single site, apart from iframes. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 450 | // (Note that a page can reference content from multiple origins due to images, |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 451 | // JavaScript files, etc. Cross-site iframes are also loaded in-process.) |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 452 | // 2) Only has authority to see or use cookies for the page's top-level origin. |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 453 | // (So if a.com iframes b.com, the b.com network request will be sent without |
| 454 | // cookies.) |
| 455 | // This is expected to break compatibility with many pages for now. Unlike the |
| 456 | // --site-per-process flag, this allows cross-site iframes, but it blocks all |
| 457 | // cookies on cross-site requests. |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 458 | const char kEnableStrictSiteIsolation[] = "enable-strict-site-isolation"; |
| 459 | |
| 460 | // Enable multithreaded GPU compositing of web content. |
| 461 | const char kEnableThreadedCompositing[] = "enable-threaded-compositing"; |
| 462 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 463 | // Allow GL contexts to be automatically virtualized (shared between command |
| 464 | // buffer clients) if they are compatible. |
| 465 | const char kEnableVirtualGLContexts[] = "enable-virtual-gl-contexts"; |
| 466 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 467 | // Disable multithreaded GPU compositing of web content. |
| 468 | const char kDisableThreadedCompositing[] = "disable-threaded-compositing"; |
| 469 | |
| 470 | // Enable use of experimental TCP sockets API for sending data in the |
| 471 | // SYN packet. |
| 472 | const char kEnableTcpFastOpen[] = "enable-tcp-fastopen"; |
| 473 | |
| 474 | // Disables hardware acceleration of video decode, where available. |
| 475 | const char kDisableAcceleratedVideoDecode[] = |
| 476 | "disable-accelerated-video-decode"; |
| 477 | |
| 478 | // Enables the use of the viewport meta tag, which allows |
| 479 | // pages to control aspects of their own layout. This also turns on touch-screen |
| 480 | // pinch gestures. |
| 481 | const char kEnableViewport[] = "enable-viewport"; |
| 482 | |
| 483 | // Enables experimental features for the geolocation API. |
| 484 | // Current features: |
| 485 | // - CoreLocation support for Mac OS X 10.6 |
| 486 | // - Gateway location for Linux and Windows |
| 487 | // - Location platform support for Windows 7 |
| 488 | const char kExperimentalLocationFeatures[] = "experimental-location-features"; |
| 489 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 490 | // If accelerated compositing is supported, always enter compositing mode for |
| 491 | // the base layer even when compositing is not strictly required. |
| 492 | const char kForceCompositingMode[] = "force-compositing-mode"; |
| 493 | |
| 494 | // This flag disables force compositing mode and prevents it from being enabled |
| 495 | // via field trials. |
| 496 | const char kDisableForceCompositingMode[] = "disable-force-compositing-mode"; |
| 497 | |
| 498 | // Some field trials may be randomized in the browser, and the randomly selected |
| 499 | // outcome needs to be propagated to the renderer. For instance, this is used |
| 500 | // to modify histograms recorded in the renderer, or to get the renderer to |
| 501 | // also set of its state (initialize, or not initialize components) to match the |
| 502 | // experiment(s). The option is also useful for forcing field trials when |
| 503 | // testing changes locally. The argument is a list of name and value pairs, |
| 504 | // separated by slashes. See FieldTrialList::CreateTrialsFromString() in |
| 505 | // field_trial.h for details. |
| 506 | const char kForceFieldTrials[] = "force-fieldtrials"; |
| 507 | |
| 508 | // Force renderer accessibility to be on instead of enabling it on demand when |
| 509 | // a screen reader is detected. The disable-renderer-accessibility switch |
| 510 | // overrides this if present. |
| 511 | const char kForceRendererAccessibility[] = "force-renderer-accessibility"; |
| 512 | |
Torne (Richard Coles) | a36e592 | 2013-08-05 13:57:33 +0100 | [diff] [blame] | 513 | // Allow the compositor to use its software implementation if GL fails. |
| 514 | const char kEnableSoftwareCompositing[] = "enable-software-compositing"; |
| 515 | |
| 516 | // Prevent the compositor from using its GPU implementation. |
| 517 | const char kDisableGpuCompositing[] = "disable-gpu-compositing"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 518 | |
| 519 | // Passes gpu device_id from browser process to GPU process. |
| 520 | const char kGpuDeviceID[] = "gpu-device-id"; |
| 521 | |
| 522 | // Passes gpu driver_vendor from browser process to GPU process. |
| 523 | const char kGpuDriverVendor[] = "gpu-driver-vendor"; |
| 524 | |
| 525 | // Passes gpu driver_version from browser process to GPU process. |
| 526 | const char kGpuDriverVersion[] = "gpu-driver-version"; |
| 527 | |
| 528 | // Extra command line options for launching the GPU process (normally used |
| 529 | // for debugging). Use like renderer-cmd-prefix. |
| 530 | const char kGpuLauncher[] = "gpu-launcher"; |
| 531 | |
| 532 | // Makes this process a GPU sub-process. |
| 533 | const char kGpuProcess[] = "gpu-process"; |
| 534 | |
Torne (Richard Coles) | a36e592 | 2013-08-05 13:57:33 +0100 | [diff] [blame] | 535 | // Allow shmat system call in GPU sandbox. |
| 536 | const char kGpuSandboxAllowSysVShm[] = "gpu-sandbox-allow-sysv-shm"; |
| 537 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 538 | // Causes the GPU process to display a dialog on launch. |
| 539 | const char kGpuStartupDialog[] = "gpu-startup-dialog"; |
| 540 | |
| 541 | // Passes gpu vendor_id from browser process to GPU process. |
| 542 | const char kGpuVendorID[] = "gpu-vendor-id"; |
| 543 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 544 | #if defined(OS_ANDROID) |
| 545 | // Don't display any scrollbars. This is useful for Android WebView where |
| 546 | // the system manages the scrollbars instead. |
| 547 | const char kHideScrollbars[] = "hide-scrollbars"; |
| 548 | #endif |
| 549 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 550 | // These mappings only apply to the host resolver. |
| 551 | const char kHostResolverRules[] = "host-resolver-rules"; |
| 552 | |
| 553 | // Ignores certificate-related errors. |
| 554 | const char kIgnoreCertificateErrors[] = "ignore-certificate-errors"; |
| 555 | |
| 556 | // Ignores GPU blacklist. |
| 557 | const char kIgnoreGpuBlacklist[] = "ignore-gpu-blacklist"; |
| 558 | |
| 559 | // Run the GPU process as a thread in the browser process. |
| 560 | const char kInProcessGPU[] = "in-process-gpu"; |
| 561 | |
| 562 | // Runs plugins inside the renderer process |
| 563 | const char kInProcessPlugins[] = "in-process-plugins"; |
| 564 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 565 | // Specifies the flags passed to JS engine |
| 566 | const char kJavaScriptFlags[] = "js-flags"; |
| 567 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 568 | // Load NPAPI plugins from the specified directory. |
| 569 | const char kExtraPluginDir[] = "extra-plugin-dir"; |
| 570 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 571 | // Load an NPAPI plugin from the specified path. |
| 572 | const char kLoadPlugin[] = "load-plugin"; |
| 573 | |
Torne (Richard Coles) | 7d4cd47 | 2013-06-19 11:58:07 +0100 | [diff] [blame] | 574 | // Disable discovering third-party plug-ins. Effectively loading only |
| 575 | // ones shipped with the browser plus third-party ones as specified by |
| 576 | // --extra-plugin-dir and --load-plugin switches. |
| 577 | const char kDisablePluginsDiscovery[] = "disable-plugins-discovery"; |
| 578 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 579 | // Sets the minimum log level. Valid values are from 0 to 3: |
| 580 | // INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3. |
| 581 | const char kLoggingLevel[] = "log-level"; |
| 582 | |
| 583 | // Make plugin processes log their sent and received messages to VLOG(1). |
| 584 | const char kLogPluginMessages[] = "log-plugin-messages"; |
| 585 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 586 | // Sample memory usage with high frequency and store the results to the |
| 587 | // Renderer.Memory histogram. Used in memory tests. |
| 588 | const char kMemoryMetrics[] = "memory-metrics"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 589 | |
Ben Murdoch | 3240926 | 2013-08-07 11:04:47 +0100 | [diff] [blame] | 590 | // Mutes audio sent to the audio device so it is not audible during |
| 591 | // automated testing. |
| 592 | const char kMuteAudio[] = "mute-audio"; |
| 593 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 594 | // Don't send HTTP-Referer headers. |
| 595 | const char kNoReferrers[] = "no-referrers"; |
| 596 | |
| 597 | // Disables the sandbox for all process types that are normally sandboxed. |
| 598 | const char kNoSandbox[] = "no-sandbox"; |
| 599 | |
| 600 | // Enables the sandboxed processes to run without a job object assigned to them. |
| 601 | // This flag is required to allow Chrome to run in RemoteApps or Citrix. This |
| 602 | // flag can reduce the security of the sandboxed processes and allow them to do |
| 603 | // certain API calls like shut down Windows or access the clipboard. Also we |
| 604 | // lose the chance to kill some processes until the outer job that owns them |
| 605 | // finishes. |
| 606 | const char kAllowNoSandboxJob[] = "allow-no-sandbox-job"; |
| 607 | |
| 608 | // Specifies a command that should be used to launch the plugin process. Useful |
| 609 | // for running the plugin process through purify or quantify. Ex: |
| 610 | // --plugin-launcher="path\to\purify /Run=yes" |
| 611 | const char kPluginLauncher[] = "plugin-launcher"; |
| 612 | |
| 613 | // Tells the plugin process the path of the plugin to load |
| 614 | const char kPluginPath[] = "plugin-path"; |
| 615 | |
| 616 | // Causes the process to run as a plugin subprocess. |
| 617 | const char kPluginProcess[] = "plugin"; |
| 618 | |
| 619 | // Causes the plugin process to display a dialog on launch. |
| 620 | const char kPluginStartupDialog[] = "plugin-startup-dialog"; |
| 621 | |
| 622 | // Argument to the process type that indicates a PPAPI broker process type. |
| 623 | const char kPpapiBrokerProcess[] = "ppapi-broker"; |
| 624 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 625 | // Runs PPAPI (Pepper) plugins in-process. |
| 626 | const char kPpapiInProcess[] = "ppapi-in-process"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 627 | |
| 628 | // Like kPluginLauncher for PPAPI plugins. |
| 629 | const char kPpapiPluginLauncher[] = "ppapi-plugin-launcher"; |
| 630 | |
| 631 | // Argument to the process type that indicates a PPAPI plugin process type. |
| 632 | const char kPpapiPluginProcess[] = "ppapi"; |
| 633 | |
| 634 | // Causes the PPAPI sub process to display a dialog on launch. Be sure to use |
| 635 | // --no-sandbox as well or the sandbox won't allow the dialog to display. |
| 636 | const char kPpapiStartupDialog[] = "ppapi-startup-dialog"; |
| 637 | |
| 638 | // Runs a single process for each site (i.e., group of pages from the same |
| 639 | // registered domain) the user visits. We default to using a renderer process |
| 640 | // for each site instance (i.e., group of pages from the same registered |
| 641 | // domain with script connections to each other). |
| 642 | const char kProcessPerSite[] = "process-per-site"; |
| 643 | |
| 644 | // Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own |
| 645 | // renderer process. We default to using a renderer process for each |
| 646 | // site instance (i.e., group of pages from the same registered domain with |
| 647 | // script connections to each other). |
| 648 | const char kProcessPerTab[] = "process-per-tab"; |
| 649 | |
| 650 | // The value of this switch determines whether the process is started as a |
| 651 | // renderer or plugin host. If it's empty, it's the browser. |
| 652 | const char kProcessType[] = "type"; |
| 653 | |
| 654 | // Register Pepper plugins (see pepper_plugin_registry.cc for its format). |
| 655 | const char kRegisterPepperPlugins[] = "register-pepper-plugins"; |
| 656 | |
| 657 | // Enables remote debug over HTTP on the specified port. |
| 658 | const char kRemoteDebuggingPort[] = "remote-debugging-port"; |
| 659 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 660 | #if defined(OS_ANDROID) |
| 661 | // Enables remote debug over HTTP on the specified socket name. |
| 662 | const char kRemoteDebuggingSocketName[] = "remote-debugging-socket-name"; |
| 663 | #endif |
| 664 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 665 | // Causes the renderer process to throw an assertion on launch. |
| 666 | const char kRendererAssertTest[] = "renderer-assert-test"; |
| 667 | |
| 668 | // On POSIX only: the contents of this flag are prepended to the renderer |
| 669 | // command line. Useful values might be "valgrind" or "xterm -e gdb --args". |
| 670 | const char kRendererCmdPrefix[] = "renderer-cmd-prefix"; |
| 671 | |
| 672 | // Causes the process to run as renderer instead of as browser. |
| 673 | const char kRendererProcess[] = "renderer"; |
| 674 | |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 675 | // Enable the Vtune profiler support. |
| 676 | const char kEnableVtune[] = "enable-vtune-support"; |
| 677 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 678 | // Overrides the default/calculated limit to the number of renderer processes. |
| 679 | // Very high values for this setting can lead to high memory/resource usage |
| 680 | // or instability. |
| 681 | const char kRendererProcessLimit[] = "renderer-process-limit"; |
| 682 | |
| 683 | // Causes the renderer process to display a dialog on launch. |
| 684 | const char kRendererStartupDialog[] = "renderer-startup-dialog"; |
| 685 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 686 | // Enables accelerated compositing for overflow scroll. Promotes eligible |
| 687 | // overflow:scroll elements to layers to enable accelerated scrolling for them. |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 688 | const char kEnableAcceleratedOverflowScroll[] = |
| 689 | "enable-accelerated-overflow-scroll"; |
| 690 | |
| 691 | // Disables accelerated compositing for overflow scroll. |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 692 | const char kDisableAcceleratedOverflowScroll[] = |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 693 | "disable-accelerated-overflow-scroll"; |
| 694 | |
| 695 | // Enables accelerated compositing for scrollable frames for accelerated |
| 696 | // scrolling for them. Requires kForceCompositingMode. |
| 697 | const char kEnableAcceleratedScrollableFrames[] = |
| 698 | "enable-accelerated-scrollable-frames"; |
| 699 | |
| 700 | // Enables accelerated scrolling by the compositor for frames. Requires |
| 701 | // kForceCompositingMode and kEnableAcceleratedScrollableFrames. |
| 702 | const char kEnableCompositedScrollingForFrames[] = |
| 703 | "enable-composited-scrolling-for-frames"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 704 | |
| 705 | // Visibly render a border around paint rects in the web page to help debug |
| 706 | // and study painting behavior. |
| 707 | const char kShowPaintRects[] = "show-paint-rects"; |
| 708 | |
| 709 | // Map mouse input events into touch gesture events. Useful for debugging touch |
| 710 | // gestures without needing a touchscreen. |
| 711 | const char kSimulateTouchScreenWithMouse[] = |
| 712 | "simulate-touch-screen-with-mouse"; |
| 713 | |
| 714 | // Runs the renderer and plugins in the same process as the browser |
| 715 | const char kSingleProcess[] = "single-process"; |
| 716 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 717 | // Experimentally enforces a one-site-per-process security policy. |
| 718 | // All cross-site navigations force process swaps, and we can restrict a |
| 719 | // renderer process's access rights based on its site. For details, see: |
| 720 | // http://www.chromium.org/developers/design-documents/site-isolation |
| 721 | // |
| 722 | // Unlike --enable-strict-site-isolation (which allows cross-site iframes), |
| 723 | // this flag blocks cross-site documents even in iframes, until out-of-process |
| 724 | // iframe support is available. Cross-site network requests do attach the |
| 725 | // normal set of cookies, but a renderer process is only allowed to view or |
| 726 | // modify cookies for its own site (via JavaScript). |
| 727 | // TODO(irobert): Implement the cross-site document blocking in |
| 728 | // http://crbug.com/159215. |
| 729 | const char kSitePerProcess[] = "site-per-process"; |
| 730 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 731 | // Skip gpu info collection, blacklist loading, and blacklist auto-update |
| 732 | // scheduling at browser startup time. |
| 733 | // Therefore, all GPU features are available, and about:gpu page shows empty |
| 734 | // content. The switch is intended only for tests. |
| 735 | const char kSkipGpuDataLoading[] = "skip-gpu-data-loading"; |
| 736 | |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 737 | // Scaling quality for capturing tab. Should be one of "fast", "good" or "best". |
| 738 | // One flag for upscaling, one for downscaling. |
| 739 | // Upscale defaults to "best". |
| 740 | const char kTabCaptureUpscaleQuality[] = "tab-capture-upscale-quality"; |
| 741 | // Upscale defaults to "good". |
| 742 | const char kTabCaptureDownscaleQuality[] = "tab-capture-downscale-quality"; |
| 743 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 744 | // GestureTapDown events are deferred by this many miillseconds before |
| 745 | // sending them to the renderer. |
| 746 | const char kTapDownDeferralTimeMs[] = "tap-down-deferral-time"; |
| 747 | |
| 748 | // Runs the security test for the renderer sandbox. |
| 749 | const char kTestSandbox[] = "test-sandbox"; |
| 750 | |
| 751 | // Allows for forcing socket connections to http/https to use fixed ports. |
| 752 | const char kTestingFixedHttpPort[] = "testing-fixed-http-port"; |
| 753 | const char kTestingFixedHttpsPort[] = "testing-fixed-https-port"; |
| 754 | |
| 755 | // Causes TRACE_EVENT flags to be recorded from startup. Optionally, can |
| 756 | // specify the specific trace categories to include (e.g. |
| 757 | // --trace-startup=base,net) otherwise, all events are recorded. Setting this |
| 758 | // flag results in the first call to BeginTracing() to receive all trace events |
| 759 | // since startup. In Chrome, you may find --trace-startup-file and |
| 760 | // --trace-startup-duration to control the auto-saving of the trace (not |
| 761 | // supported in the base-only TraceLog component). |
| 762 | const char kTraceStartup[] = "trace-startup"; |
| 763 | |
| 764 | // If supplied, sets the file which startup tracing will be stored into, if |
| 765 | // omitted the default will be used "chrometrace.log" in the current directory. |
| 766 | // Has no effect unless --trace-startup is also supplied. |
| 767 | // Example: --trace-startup --trace-startup-file=/tmp/trace_event.log |
| 768 | // As a special case, can be set to 'none' - this disables automatically saving |
| 769 | // the result to a file and the first manually recorded trace will then receive |
| 770 | // all events since startup. |
| 771 | const char kTraceStartupFile[] = "trace-startup-file"; |
| 772 | |
| 773 | // Sets the time in seconds until startup tracing ends. If omitted a default of |
| 774 | // 5 seconds is used. Has no effect without --trace-startup, or if |
| 775 | // --startup-trace-file=none was supplied. |
| 776 | const char kTraceStartupDuration[] = "trace-startup-duration"; |
| 777 | |
| 778 | // Prioritizes the UI's command stream in the GPU process |
| 779 | extern const char kUIPrioritizeInGpuProcess[] = |
| 780 | "ui-prioritize-in-gpu-process"; |
| 781 | |
| 782 | // A string used to override the default user agent with a custom one. |
| 783 | const char kUserAgent[] = "user-agent"; |
| 784 | |
| 785 | // On POSIX only: the contents of this flag are prepended to the utility |
| 786 | // process command line. Useful values might be "valgrind" or "xterm -e gdb |
| 787 | // --args". |
| 788 | const char kUtilityCmdPrefix[] = "utility-cmd-prefix"; |
| 789 | |
| 790 | // Causes the process to run as a utility subprocess. |
| 791 | const char kUtilityProcess[] = "utility"; |
| 792 | |
| 793 | // The utility process is sandboxed, with access to one directory. This flag |
| 794 | // specifies the directory that can be accessed. |
| 795 | const char kUtilityProcessAllowedDir[] = "utility-allowed-dir"; |
| 796 | |
Ben Murdoch | ca12bfa | 2013-07-23 11:17:05 +0100 | [diff] [blame] | 797 | // Allows MDns to access network in sandboxed process. |
| 798 | const char kUtilityProcessEnableMDns[] = "utility-enable-mdns"; |
| 799 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 800 | // Will add kWaitForDebugger to every child processes. If a value is passed, it |
| 801 | // will be used as a filter to determine if the child process should have the |
| 802 | // kWaitForDebugger flag passed on or not. |
| 803 | const char kWaitForDebuggerChildren[] = "wait-for-debugger-children"; |
| 804 | |
| 805 | // Choose which logging channels in WebCore to activate. See |
| 806 | // Logging.cpp in WebKit's WebCore for a list of available channels. |
| 807 | const char kWebCoreLogChannels[] = "webcore-log-channels"; |
| 808 | |
| 809 | // Causes the process to run as a worker subprocess. |
| 810 | const char kWorkerProcess[] = "worker"; |
| 811 | |
| 812 | // The prefix used when starting the zygote process. (i.e. 'gdb --args') |
| 813 | const char kZygoteCmdPrefix[] = "zygote-cmd-prefix"; |
| 814 | |
| 815 | // Causes the process to run as a renderer zygote. |
| 816 | const char kZygoteProcess[] = "zygote"; |
| 817 | |
| 818 | // Enables moving cursor by word in visual order. |
| 819 | const char kEnableVisualWordMovement[] = "enable-visual-word-movement"; |
| 820 | |
| 821 | // Set when Chromium should use a mobile user agent. |
| 822 | const char kUseMobileUserAgent[] = "use-mobile-user-agent"; |
| 823 | |
| 824 | #if defined(OS_ANDROID) |
| 825 | // Disable history logging for media elements. |
| 826 | const char kDisableMediaHistoryLogging[] = "disable-media-history"; |
| 827 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 828 | // Disable user gesture requirement for media playback. |
| 829 | const char kDisableGestureRequirementForMediaPlayback[] = |
| 830 | "disable-gesture-requirement-for-media-playback"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 831 | |
| 832 | // The telephony region (ISO country code) to use in phone number detection. |
| 833 | const char kNetworkCountryIso[] = "network-country-iso"; |
| 834 | |
Torne (Richard Coles) | 90dce4d | 2013-05-29 14:40:03 +0100 | [diff] [blame] | 835 | // Disable overscroll edge effects like those found in Android views. |
| 836 | const char kDisableOverscrollEdgeEffect[] = "disable-overscroll-edge-effect"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 837 | #endif |
| 838 | |
Torne (Richard Coles) | 2a99a7e | 2013-03-28 15:31:22 +0000 | [diff] [blame] | 839 | #if defined(OS_CHROMEOS) |
| 840 | // Disables panel fitting (used for mirror mode). |
| 841 | const char kDisablePanelFitting[] = "disable-panel-fitting"; |
| 842 | #endif |
| 843 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 844 | #if defined(OS_POSIX) |
| 845 | // Causes the child processes to cleanly exit via calling exit(). |
| 846 | const char kChildCleanExit[] = "child-clean-exit"; |
| 847 | #endif |
| 848 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 849 | #if defined(OS_MACOSX) && !defined(OS_IOS) |
| 850 | const char kDisableCarbonInterposing[] = "disable-carbon-interposing"; |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 851 | |
| 852 | // Use core animation to draw the RenderWidgetHostView on Mac. |
| 853 | const char kUseCoreAnimation[] = "use-core-animation"; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 854 | #endif |
| 855 | |
| 856 | // Disables the use of a 3D software rasterizer. |
| 857 | const char kDisableSoftwareRasterizer[] = "disable-software-rasterizer"; |
| 858 | |
| 859 | #if defined(USE_AURA) |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 860 | // Forces usage of the test compositor. Needed to run ui tests on bots. |
| 861 | extern const char kTestCompositor[] = "test-compositor"; |
| 862 | #endif |
| 863 | |
| 864 | // Sets the tile size used by composited layers. |
| 865 | const char kDefaultTileWidth[] = "default-tile-width"; |
| 866 | const char kDefaultTileHeight[] = "default-tile-height"; |
| 867 | |
| 868 | // Sets the width and height above which a composited layer will get tiled. |
| 869 | const char kMaxUntiledLayerWidth[] = "max-untiled-layer-width"; |
| 870 | const char kMaxUntiledLayerHeight[] = "max-untiled-layer-height"; |
| 871 | |
| 872 | const char kEnableFixedPositionCreatesStackingContext[] |
| 873 | = "enable-fixed-position-creates-stacking-context"; |
| 874 | const char kDisableFixedPositionCreatesStackingContext[] |
| 875 | = "disable-fixed-position-creates-stacking-context"; |
| 876 | |
| 877 | // Defer image decoding in WebKit until painting. |
| 878 | const char kEnableDeferredImageDecoding[] = "enable-deferred-image-decoding"; |
| 879 | |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 880 | // Use a begin frame signal from browser to renderer to schedule rendering. |
| 881 | const char kEnableBeginFrameScheduling[] = "enable-begin-frame-scheduling"; |
| 882 | |
| 883 | // Synchronize delivery and response of input events to and from the renderer. |
| 884 | const char kEnableBrowserInputController[] = "enable-browser-input-controller"; |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 885 | |
| 886 | // Enables or disables history navigation in response to horizontal overscroll. |
| 887 | // Set the value to '1' to enable the feature, and set to '0' to disable. |
| 888 | // Defaults to enabled. |
| 889 | const char kOverscrollHistoryNavigation[] = |
| 890 | "overscroll-history-navigation"; |
| 891 | |
Ben Murdoch | bbcdd45 | 2013-07-25 10:06:34 +0100 | [diff] [blame] | 892 | // Enables or disables scroll end effect in response to vertical overscroll. |
| 893 | // Set the value to '1' to enable the feature, and set to '0' to disable. |
| 894 | // Defaults to disabled. |
| 895 | const char kScrollEndEffect[] = "scroll-end-effect"; |
| 896 | |
Torne (Richard Coles) | b2df76e | 2013-05-13 16:52:09 +0100 | [diff] [blame] | 897 | // Forward overscroll event data from the renderer to the browser. |
| 898 | const char kEnableOverscrollNotifications[] = "enable-overscroll-notifications"; |
| 899 | |
Torne (Richard Coles) | 868fa2f | 2013-06-11 10:57:03 +0100 | [diff] [blame] | 900 | // Enables WebGL extensions not yet approved by the community. |
| 901 | const char kEnableWebGLDraftExtensions[] = "enable-webgl-draft-extensions"; |
| 902 | |
Ben Murdoch | 7dbb3d5 | 2013-07-17 14:55:54 +0100 | [diff] [blame] | 903 | // Enables/disables accelerated compositing for backgrounds of root layers with |
| 904 | // background-attachment: fixed. Requires kForceCompositingMode. |
| 905 | const char kDisableAcceleratedFixedRootBackground[] = |
| 906 | "disable-accelerated-fixed-root-background"; |
| 907 | const char kEnableAcceleratedFixedRootBackground[] = |
| 908 | "enable-accelerated-fixed-root-background"; |
| 909 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 910 | } // namespace switches |