| OLD | NEW |
| (Empty) |
| 1 # Defines properties which are available on the Settings object. | |
| 2 # | |
| 3 # Please think carefully before adding a new Setting. Some questions to | |
| 4 # consider are: | |
| 5 # - Should this be a RuntimeEnabledFeature instead? Settings are for things | |
| 6 # which we support either values of at runtime. Features are set at renderer | |
| 7 # process startup and are never changed. Features also tend to be set to a | |
| 8 # value based on the platform or the stability of the code in question, where | |
| 9 # as settings both codepaths need to be stable. | |
| 10 # - How will you ensure test coverage of all relevant values of your setting? | |
| 11 # - Is the default value appropriate for other platforms or ports which may | |
| 12 # not be aware of your setting? | |
| 13 # - Can your setting result in behavior differences observable to web | |
| 14 # developers? | |
| 15 # - Should this setting ideally be removed in the future? If so please file | |
| 16 # a bug and reference it in the comments for your setting. | |
| 17 # | |
| 18 # One reason to add a Setting is to manage the risk associated with adding a | |
| 19 # new feature. For example, we may choose to ship a new UI behavior or | |
| 20 # performance optimization to ChromeOS users first (in order to gather feedback | |
| 21 # and metrics on its use from the wild) before attempting to ship it to | |
| 22 # Windows. | |
| 23 # | |
| 24 # FIXME: Add support for global settings. | |
| 25 # FIXME: Add support for custom getters/setters. | |
| 26 | |
| 27 defaultTextEncodingName type=String | |
| 28 | |
| 29 # Do not hide chars typed in password fields immediately, but let the last char
stay | |
| 30 # visible for N seconds, configured by the passwordEchoDurationInSeconds setting | |
| 31 # FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a posit
ive value. | |
| 32 passwordEchoEnabled initial=false | |
| 33 | |
| 34 # Configure how long the last char should say visible in seconds. | |
| 35 passwordEchoDurationInSeconds type=double, initial=1 | |
| 36 | |
| 37 # Sets the magnification value for validation message timer. If the | |
| 38 # magnification value is N, a validation message disappears automatically after | |
| 39 # <message length> * N / 1000 seconds. If N is equal to or less than 0, a | |
| 40 # validation message doesn't disappears automaticaly. | |
| 41 validationMessageTimerMagnification type=int, initial=50 | |
| 42 | |
| 43 # Number of pixels below which 2D canvas is rendered in software | |
| 44 # even if hardware acceleration is enabled. | |
| 45 # Hardware acceleration is useful for large canvases where it can avoid the | |
| 46 # pixel bandwidth between the CPU and GPU. But GPU acceleration comes at | |
| 47 # a price - extra back-buffer and texture copy. Small canvases are also | |
| 48 # widely used for stylized fonts. Anti-aliasing text in hardware at that | |
| 49 # scale is generally slower. So below a certain size it is better to | |
| 50 # draw canvas in software. | |
| 51 minimumAccelerated2dCanvasSize type=int, initial=257*256 | |
| 52 | |
| 53 minimumFontSize type=int, initial=0, invalidate=Style | |
| 54 minimumLogicalFontSize type=int, initial=0, invalidate=Style | |
| 55 defaultFontSize type=int, initial=0, invalidate=Style | |
| 56 defaultFixedFontSize type=int, initial=0, invalidate=Style | |
| 57 | |
| 58 editingBehaviorType type=EditingBehaviorType, initial=editingBehaviorTypeForPlat
form() | |
| 59 | |
| 60 localStorageEnabled initial=false | |
| 61 allowUniversalAccessFromFileURLs initial=true | |
| 62 allowFileAccessFromFileURLs initial=true | |
| 63 javaScriptCanOpenWindowsAutomatically initial=false | |
| 64 supportsMultipleWindows initial=true | |
| 65 javaScriptCanAccessClipboard initial=false | |
| 66 shouldPrintBackgrounds initial=false | |
| 67 shouldClearDocumentBackground initial=true | |
| 68 | |
| 69 textAreasAreResizable initial=false, invalidate=Style | |
| 70 acceleratedCompositingEnabled initial=true, invalidate=AcceleratedCompositing | |
| 71 | |
| 72 offlineWebApplicationCacheEnabled initial=true | |
| 73 allowScriptsToCloseWindows initial=false | |
| 74 | |
| 75 # FIXME: This should really be disabled by default as it makes platforms that | |
| 76 # don't support the feature download files they can't use by. | |
| 77 # Leaving enabled for now to not change existing behavior. | |
| 78 downloadableBinaryFontsEnabled initial=true | |
| 79 | |
| 80 xssAuditorEnabled initial=false | |
| 81 | |
| 82 preferCompositingToLCDTextEnabled initial=false, invalidate=AcceleratedCompositi
ng | |
| 83 | |
| 84 # 3D canvas (WebGL) support. | |
| 85 webGLEnabled initial=false | |
| 86 | |
| 87 webGLErrorsToConsoleEnabled initial=true | |
| 88 antialiased2dCanvasEnabled initial=true | |
| 89 antialiasedClips2dCanvasEnabled initial=true | |
| 90 accelerated2dCanvasMSAASampleCount type=int, initial=0 | |
| 91 | |
| 92 hyperlinkAuditingEnabled initial=false | |
| 93 allowRunningOfInsecureContent initial=true | |
| 94 | |
| 95 mediaControlsOverlayPlayButtonEnabled initial=false | |
| 96 mediaPlaybackRequiresUserGesture initial=false | |
| 97 | |
| 98 # This flags overrides mediaPlaybackRequiresUserGesture | |
| 99 crossOriginMediaPlaybackRequiresUserGesture initial=false | |
| 100 | |
| 101 presentationRequiresUserGesture initial=true | |
| 102 | |
| 103 scrollAnimatorEnabled initial=true | |
| 104 | |
| 105 # Used to disable threaded, compositor scrolling for testing purposes. | |
| 106 # crbug.com/410974 tracks removal once alternative solutions for selective | |
| 107 # main thread scrolling are supported. | |
| 108 threadedScrollingEnabled initial=true, invalidate=Style | |
| 109 | |
| 110 # Used in layout tests for gesture tap highlights. Makes the highlights square | |
| 111 # (rather than rounded) to make it possible to reftest the results. | |
| 112 mockGestureTapHighlightsEnabled initial=false | |
| 113 | |
| 114 shouldRespectImageOrientation initial=false | |
| 115 | |
| 116 # Limited use by features which behave differently depending on the input | |
| 117 # devices available. For example, the pointer and hover media queries. | |
| 118 # Note that we need to be careful when basing behavior or UI on this - | |
| 119 # just because a device is present doesn't mean the user cares about it | |
| 120 # or uses it (i.e. Chromebook Pixel users generally don't want to give up | |
| 121 # screen real estate just because they happen to have a touchscreen). | |
| 122 deviceSupportsTouch initial=false | |
| 123 | |
| 124 # This value indicates the number of simultaneous multi-touch points supported | |
| 125 # by the currently connected screen/digitizer that supports the most points. | |
| 126 # From Pointer Events spec: | |
| 127 # http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints | |
| 128 maxTouchPoints type=int, initial=0 | |
| 129 | |
| 130 # Whether touch gestures should be "fuzzed" to nearest touch targets. | |
| 131 # It's expected that this is enabled everywhere by default, but it may be | |
| 132 # disabled for testing purposes as the algorithm is not yet perfect. | |
| 133 # crbug.com/304895 tracks removal once we're satisfied with the algorithm. | |
| 134 touchAdjustmentEnabled initial=true | |
| 135 | |
| 136 # Determines whether WebViewClient::didTapMultipleTargets will be used for | |
| 137 # touch disambiguation. | |
| 138 multiTargetTapNotificationEnabled initial=true | |
| 139 | |
| 140 syncXHRInDocumentsEnabled initial=true | |
| 141 cookieEnabled initial=true | |
| 142 navigateOnDragDrop initial=true | |
| 143 DOMPasteAllowed initial=false | |
| 144 | |
| 145 allowCustomScrollbarInMainFrame initial=true | |
| 146 webSecurityEnabled initial=true | |
| 147 | |
| 148 # Special keyboard navigation mode intented for platforms with no | |
| 149 # proper mouse or touch support, such as a TV controller with a remote. | |
| 150 spatialNavigationEnabled initial=false | |
| 151 | |
| 152 # This setting adds a means to enable/disable touch initiated drag & drop. If | |
| 153 # enabled, the user can initiate drag using long press. | |
| 154 # crbug.com/304894 tracks removal once it's been enabled on all platforms. | |
| 155 touchDragDropEnabled initial=false | |
| 156 | |
| 157 # Some apps could have a default video poster if it is not set. | |
| 158 defaultVideoPosterURL type=String | |
| 159 | |
| 160 smartInsertDeleteEnabled initial=false | |
| 161 selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled | |
| 162 | |
| 163 selectionIncludesAltImageText initial=false | |
| 164 | |
| 165 selectionStrategy type=SelectionStrategy, initial=SelectionStrategy::Character | |
| 166 | |
| 167 ######## Settings used by Android WebView below ######## | |
| 168 | |
| 169 useLegacyBackgroundSizeShorthandBehavior initial=false | |
| 170 | |
| 171 # This quirk is to maintain compatibility with Android apps built on | |
| 172 # the Android SDK prior to and including version 18. | |
| 173 # Presumably, this can be removed any time after 2015. | |
| 174 # See http://crbug.com/282130. | |
| 175 viewportMetaZeroValuesQuirk initial=false | |
| 176 | |
| 177 # Another Android SDK <= 18 quirk, removable 2015. | |
| 178 # See http://crbug.com/295287 | |
| 179 ignoreMainFrameOverflowHiddenQuirk initial=false | |
| 180 | |
| 181 # Yet another Android SDK <= 18 quirk, removable 2015. | |
| 182 # See http://crbug.com/305236 | |
| 183 reportScreenSizeInPhysicalPixelsQuirk initial=false | |
| 184 | |
| 185 # One more Android SDK <= 18 quirk, removable 2015. | |
| 186 # See http://crbug.com/306548 | |
| 187 viewportMetaMergeContentQuirk initial=false | |
| 188 | |
| 189 # This quirk is to maintain compatibility with Android apps. | |
| 190 # It will be possible to remove it once WebSettings.{get|set}UseWideViewPort | |
| 191 # API function will be removed. | |
| 192 # See http://crbug.com/288037. | |
| 193 wideViewportQuirkEnabled initial=false | |
| 194 | |
| 195 # Used by the android_webview to support a horizontal height auto-sizing | |
| 196 # mode. | |
| 197 forceZeroLayoutHeight initial=false, invalidate=ViewportDescription | |
| 198 | |
| 199 mainFrameClipsContent initial=true | |
| 200 | |
| 201 # For android.webkit.WebSettings.setUseWideViewport() | |
| 202 # http://developer.android.com/reference/android/webkit/WebSettings.html#setUseW
ideViewPort(boolean) | |
| 203 useWideViewport initial=true, invalidate=ViewportDescription | |
| 204 | |
| 205 # For android.webkit.WebSettings.setLoadWithOverviewMode() | |
| 206 # http://developer.android.com/reference/android/webkit/WebSettings.html#setLoad
WithOverviewMode(boolean) | |
| 207 loadWithOverviewMode initial=true, invalidate=ViewportDescription | |
| 208 | |
| 209 # Used by android_webview to support legacy apps that inject script into a top-l
evel initial empty | |
| 210 # document and expect it to persist on navigation, even though the origin is uni
que. Note that this | |
| 211 # behavior violates the requirements described by [Initialising a new Document o
bject] in | |
| 212 # https://html.spec.whatwg.org/multipage/browsers.html#navigating-across-documen
ts. | |
| 213 shouldReuseGlobalForUnownedMainFrame initial=false | |
| 214 | |
| 215 ######## End of settings used by Android WebView ######## | |
| 216 | |
| 217 | |
| 218 # Touch based text selection and editing on desktop. | |
| 219 # crbug.com/304873 tracks removal once it's been enabled on all platforms. | |
| 220 touchEditingEnabled initial=false | |
| 221 | |
| 222 # If true, scrollers will use overlay scrollbars. These do not take up any | |
| 223 # layout width, are drawn using solid color quads by the compositor, and fade aw
ay | |
| 224 # after a timeout. | |
| 225 useSolidColorScrollbars initial=false | |
| 226 | |
| 227 # Experiment to have all APIs reflect the layout viewport. | |
| 228 # crbug.com/489206 tracks the experiment. | |
| 229 inertVisualViewport initial=false | |
| 230 | |
| 231 # The rubber-band overscroll effect is implemented in Blink and is being moved | |
| 232 # to the compositor thread. This will be set to true and eventually removed. | |
| 233 # crbug.com/133097 | |
| 234 rubberBandingOnCompositorThread initial=false | |
| 235 | |
| 236 # Font scale factor for accessibility, applied as part of text autosizing. | |
| 237 accessibilityFontScaleFactor type=double, initial=1.0, invalidate=TextAutosizing | |
| 238 | |
| 239 # Only used by Layout Tests and inspector emulation. | |
| 240 mediaTypeOverride type=String, initial="", invalidate=MediaQuery | |
| 241 displayModeOverride type=WebDisplayMode, initial=WebDisplayModeUndefined, invali
date=MediaQuery | |
| 242 | |
| 243 # loadsImagesAutomatically only suppresses the network load of | |
| 244 # the image URL. A cached image will still be rendered if requested. | |
| 245 loadsImagesAutomatically initial=false, invalidate=ImageLoading | |
| 246 imagesEnabled initial=true, invalidate=ImageLoading | |
| 247 imageAnimationPolicy type=ImageAnimationPolicy, initial=ImageAnimationPolicyAllo
wed | |
| 248 | |
| 249 # Number of outstanding and pending tokens allowed in the background HTML | |
| 250 # parser. A value of 0 indicates the parser should use its default value. | |
| 251 backgroundHtmlParserOutstandingTokenLimit type=unsigned, initial=0 | |
| 252 backgroundHtmlParserPendingTokenLimit type=unsigned, initial=0 | |
| 253 | |
| 254 # Html preload scanning is a fast, early scan of HTML documents to find loadable | |
| 255 # resources before the parser advances to them. If it is disabled, resources wil
l | |
| 256 # be loaded later. | |
| 257 doHtmlPreloadScanning initial=true | |
| 258 | |
| 259 pluginsEnabled initial=false | |
| 260 | |
| 261 viewportEnabled initial=false, invalidate=ViewportDescription | |
| 262 viewportMetaEnabled initial=false, invalidate=ViewportDescription | |
| 263 | |
| 264 dnsPrefetchingEnabled initial=false, invalidate=DNSPrefetching | |
| 265 | |
| 266 dataSaverEnabled initial=false | |
| 267 | |
| 268 # FIXME: This is a temporary flag and should be removed | |
| 269 # when squashing is ready. (crbug.com/261605) | |
| 270 layerSquashingEnabled initial=false | |
| 271 | |
| 272 # Clients that execute script should call ScriptController::canExecuteScripts() | |
| 273 # instead of this function. ScriptController::canExecuteScripts() checks the | |
| 274 # HTML sandbox, plugin sandboxing, and other important details. | |
| 275 scriptEnabled initial=false | |
| 276 | |
| 277 # Forces initialization of main world, even if no scripts will be executed. | |
| 278 # Used by inspector to report all contexts. | |
| 279 forceMainWorldInitialization initial=false, invalidate=DOMWorlds | |
| 280 | |
| 281 # Compensates for poor text legibility on mobile devices. This value is | |
| 282 # multiplied by the font scale factor when performing text autosizing of | |
| 283 # websites that do not set an explicit viewport description. | |
| 284 deviceScaleAdjustment type=double, initial=1.0, invalidate=TextAutosizing | |
| 285 | |
| 286 # This value indicates the maximum number of bytes a document is allowed to | |
| 287 # transmit in Beacons (via navigator.sendBeacon()) -- Beacons are intended to be | |
| 288 # smaller payloads transmitted as a page is unloading, not a general (one-way) | |
| 289 # network transmission API. The spec <https://w3c.github.io/beacon/> does not | |
| 290 # proscribe an upper limit, but allows for it -- the underlying API will return | |
| 291 # 'false' in that case. | |
| 292 maxBeaconTransmission type=int, initial=65536 | |
| 293 | |
| 294 # This value is set to false if the platform does not support fullscreen. | |
| 295 # When set to false all the requests to enter fullscreen will return an error | |
| 296 # (fullscreenerror or webkitfullscreenerror) as specified in the standard: | |
| 297 # http://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen | |
| 298 fullscreenSupported initial=true | |
| 299 | |
| 300 # V8 supports different types of caching. Used by V8 bindings. | |
| 301 v8CacheOptions type=V8CacheOptions, initial=V8CacheOptionsDefault | |
| 302 | |
| 303 # V8 code cache for CacheStorage supports three types of strategies (none, norma
l and aggressive). | |
| 304 v8CacheStrategiesForCacheStorage type=V8CacheStrategiesForCacheStorage, initial=
V8CacheStrategiesForCacheStorage::Default | |
| 305 | |
| 306 # These values are bit fields for the properties of available pointing devices | |
| 307 # and may take on multiple values (e.g. laptop with touchpad and touchscreen | |
| 308 # has pointerType coarse *and* fine). | |
| 309 availablePointerTypes type=int, initial=PointerTypeNone, invalidate=MediaQuery | |
| 310 availableHoverTypes type=int, initial=HoverTypeNone, invalidate=MediaQuery | |
| 311 | |
| 312 # These values specify properties of the user's primary pointing device only. | |
| 313 primaryPointerType type=PointerType, initial=PointerTypeNone, invalidate=MediaQu
ery | |
| 314 primaryHoverType type=HoverType, initial=HoverTypeNone, invalidate=MediaQuery | |
| 315 | |
| 316 # Whether accessibility support is enabled at all. | |
| 317 accessibilityEnabled initial=false, invalidate=AccessibilityState | |
| 318 | |
| 319 # If true, the value in password fields is exposed to assistive technologies. | |
| 320 accessibilityPasswordValuesEnabled initial=false | |
| 321 | |
| 322 # If true, static text nodes expose inline text box children. | |
| 323 inlineTextBoxAccessibilityEnabled initial=false | |
| 324 | |
| 325 # If true, context menu will be shown on mouse up instead of mouse down. | |
| 326 # Typically enabled on Windows to match platform convention. | |
| 327 showContextMenuOnMouseUp initial=false | |
| 328 | |
| 329 # If true, context menu will be shown on any long press event. | |
| 330 # Used on Android to prevent a context menu from being shown in certain situatio
ns | |
| 331 # (i.e. long pressing an empty div) | |
| 332 alwaysShowContextMenuOnTouch initial=true | |
| 333 | |
| 334 disableReadingFromCanvas initial=false | |
| 335 strictMixedContentChecking initial=false | |
| 336 strictMixedContentCheckingForPlugin initial=false | |
| 337 strictPowerfulFeatureRestrictions initial=false | |
| 338 strictlyBlockBlockableMixedContent initial=false | |
| 339 allowGeolocationOnInsecureOrigins initial=false | |
| 340 logDnsPrefetchAndPreconnect initial=false | |
| 341 logPreload initial=false | |
| 342 | |
| 343 # These values specify the UA intial viewport style. | |
| 344 # It is dynamically set by the inspector for mobile emulation and can be | |
| 345 # used by content embedders to specify custom style on certain platforms. | |
| 346 viewportStyle type=WebViewportStyle, initial=WebViewportStyle::Default, invalida
te=ViewportRule | |
| 347 | |
| 348 # Automatic track selection is performed based on user preference for track kind
specified | |
| 349 # by this setting. | |
| 350 textTrackKindUserPreference type=TextTrackKindUserPreference, initial=TextTrackK
indUserPreference::Default, invalidate=TextTrackKindUserPreference | |
| 351 | |
| 352 # User style overrides for captions and subtitles | |
| 353 textTrackBackgroundColor type=String | |
| 354 textTrackFontFamily type=String | |
| 355 textTrackFontStyle type=String | |
| 356 textTrackFontVariant type=String | |
| 357 textTrackTextColor type=String | |
| 358 textTrackTextShadow type=String | |
| 359 textTrackTextSize type=String | |
| 360 | |
| 361 # Margin for title-safe placement of cues with overscan, gives top and bottom ma
rgin size as | |
| 362 # percentage of video element height (for horizontal text) into which cues will
not be placed. | |
| 363 textTrackMarginPercentage type=double, initial=0 | |
| 364 | |
| 365 lowPriorityIframes initial=false | |
| 366 | |
| 367 progressBarCompletion type=ProgressBarCompletion, initial=ProgressBarCompletion:
:LoadEvent | |
| 368 | |
| 369 historyEntryRequiresUserGesture initial=false | |
| 370 | |
| 371 # Do we want to try to save screen real estate in the media player by hiding | |
| 372 # the volume slider / mute button? | |
| 373 preferHiddenVolumeControls initial=false | |
| 374 | |
| 375 # Whether to disallow network fetches for parser blocking scripts in the main | |
| 376 # frame inserted via document.write, for users on 2G or connections that are | |
| 377 # effectively 2G. | |
| 378 disallowFetchForDocWrittenScriptsInMainFrameIfEffectively2G initial=false | |
| 379 | |
| 380 # Whether to disallow network fetches for parser blocking scripts in the main | |
| 381 # frame inserted via document.write, for users on slow connections. | |
| 382 disallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections initial=false | |
| 383 | |
| 384 # Whether to disallow network fetches for parser blocking scripts in the main | |
| 385 # frame inserted via document.write, regardless of connection type. | |
| 386 disallowFetchForDocWrittenScriptsInMainFrame initial=false | |
| 387 | |
| 388 # Whether to invalidate device-dependent media queries and restore scroll positi
ons | |
| 389 # on frame resize assuming device rotation. | |
| 390 mainFrameResizesAreOrientationChanges initial=false | |
| 391 | |
| 392 # Ability to override the default 'passive' value in AddEventListenerOptions. Th
is | |
| 393 # is useful to demonstrate the power of passive event listeners. This can be rem
oved | |
| 394 # when there is greater adoption, interventions to force it on and associated de
vtools | |
| 395 # to enable it have been shipped. | |
| 396 passiveListenerDefault type=PassiveListenerDefault, initial=PassiveListenerDefau
lt::False | |
| 397 | |
| 398 # Use default interpolation quality to scale bitmap images if quality is not det
ermined | |
| 399 # in other ways. This can help us writing reftests containing scaled images. | |
| 400 useDefaultImageInterpolationQuality initial=false | |
| 401 | |
| 402 # Variant of the ParseHTMLOnMainThread experiment. One experiment immediately | |
| 403 # tokenizes input bytes. The default is to tokenize with a post task. | |
| 404 parseHTMLOnMainThreadSyncTokenize initial=false | |
| 405 | |
| 406 # Variant of the ParseHTMLOnMainThread experiment. This is designed to coalesce | |
| 407 # TokenizedChunks when the experiment is running in threaded mode. | |
| 408 parseHTMLOnMainThreadCoalesceChunks initial=false | |
| 409 | |
| 410 # Whether the CSSPreloadScanner is used for externally CSS preloads. NoPreload | |
| 411 # indicates that the scanner will be used, but no preloads issued. | |
| 412 cssExternalScannerNoPreload initial=false | |
| 413 cssExternalScannerPreload initial=false | |
| 414 | |
| 415 browserSideNavigationEnabled initial=false | |
| 416 | |
| 417 # Some platforms have media subsystems which are too buggy to allow preloading | |
| 418 # of content by default. See http://crbug.com/612909 for details. | |
| 419 forcePreloadNoneForMediaElements initial=false | |
| 420 | |
| 421 hideScrollbars initial=false | |
| 422 | |
| 423 # Spellchecking is enabled by default for elements that do not specify it explic
itly | |
| 424 # using the "spellcheck" attribute. | |
| 425 spellCheckEnabledByDefault initial=true | |
| 426 | |
| 427 # Whether download UI should be hidden for the current page content. | |
| 428 hideDownloadUI initial=false | |
| 429 | |
| 430 # Whether or not to issue range requests for images and show placeholders. | |
| 431 fetchImagePlaceholders initial=false | |
| 432 | |
| 433 # Whether the frame is a presentation receiver and should expose | |
| 434 # `navigator.presentation.receiver`. | |
| 435 presentationReceiver initial=false | |
| OLD | NEW |