Home | History | Annotate | Download | only in frame
      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 positive 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=editingBehaviorTypeForPlatform()
     59 
     60 caretBrowsingEnabled initial=false
     61 localStorageEnabled initial=false
     62 allowUniversalAccessFromFileURLs initial=true
     63 allowFileAccessFromFileURLs initial=true
     64 javaScriptCanOpenWindowsAutomatically initial=false
     65 supportsMultipleWindows initial=true
     66 javaScriptCanAccessClipboard initial=false
     67 shouldPrintBackgrounds initial=false
     68 shouldClearDocumentBackground initial=true
     69 
     70 textAreasAreResizable initial=false, invalidate=Style
     71 acceleratedCompositingEnabled initial=true, invalidate=AcceleratedCompositing
     72 
     73 shrinksStandaloneImagesToFit initial=true
     74 
     75 # FIXME: Does this do anything now that we don't support page cache?
     76 pageCacheSupportsPlugins initial=false
     77 
     78 needsSiteSpecificQuirks initial=false
     79 offlineWebApplicationCacheEnabled initial=false
     80 usesEncodingDetector initial=false
     81 allowScriptsToCloseWindows initial=false
     82 deferredFiltersEnabled initial=true
     83 regionBasedColumnsEnabled initial=false
     84 
     85 containerCullingEnabled initial=false
     86 
     87 # FIXME: This should really be disabled by default as it makes platforms that
     88 # don't support the feature download files they can't use by.
     89 # Leaving enabled for now to not change existing behavior.
     90 downloadableBinaryFontsEnabled initial=true
     91 
     92 xssAuditorEnabled initial=false
     93 unsafePluginPastingEnabled initial=true
     94 treatIPAddressAsDomain initial=false
     95 
     96 acceleratedCompositingForVideoEnabled initial=true, invalidate=AcceleratedCompositing
     97 acceleratedCompositingForCanvasEnabled initial=true, invalidate=AcceleratedCompositing
     98 acceleratedCompositingForFiltersEnabled initial=false, invalidate=AcceleratedCompositing
     99 acceleratedCompositingForFixedPositionEnabled initial=false, invalidate=AcceleratedCompositing
    100 acceleratedCompositingForOverflowScrollEnabled initial=false, invalidate=AcceleratedCompositing
    101 acceleratedCompositingForFixedRootBackgroundEnabled initial=false
    102 compositedScrollingForFramesEnabled initial=false, invalidate=AcceleratedCompositing
    103 
    104 # 3D canvas (WebGL) support.
    105 webGLEnabled initial=false
    106 
    107 webGLErrorsToConsoleEnabled initial=true
    108 accelerated2dCanvasEnabled initial=false
    109 antialiased2dCanvasEnabled initial=true
    110 accelerated2dCanvasMSAASampleCount type=int, initial=0
    111 
    112 # WebAudio support.
    113 webAudioEnabled initial=false
    114 
    115 asynchronousSpellCheckingEnabled initial=false
    116 
    117 hyperlinkAuditingEnabled initial=false
    118 allowDisplayOfInsecureContent initial=true
    119 allowRunningOfInsecureContent initial=true
    120 # FIXME: Remove this temporary flag. See crbug.com/366483 for the target
    121 # milestone.
    122 allowConnectingInsecureWebSocket initial=false
    123 mediaControlsOverlayPlayButtonEnabled initial=false
    124 mediaPlaybackRequiresUserGesture initial=false
    125 
    126 scrollAnimatorEnabled initial=true
    127 
    128 shouldRespectImageOrientation initial=false
    129 
    130 # Limited use by features which behave differently depending on the input
    131 # devices available.  For example, the pointer and hover media queries.
    132 # Note that we need to be careful when basing behavior or UI on this -
    133 # just because a device is present doesn't mean the user cares about it
    134 # or uses it (i.e. Chromebook Pixel users generally don't want to give up
    135 # screen real estate just because they happen to have a touchscreen).
    136 deviceSupportsTouch initial=false
    137 deviceSupportsMouse initial=true
    138 
    139 # This value indicates the number of simultaneous multi-touch points supported
    140 # by the currently connected screen/digitizer that supports the most points.
    141 # From Pointer Events spec:
    142 #   http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints
    143 maxTouchPoints type=int, initial=0
    144 
    145 # Whether touch gestures should be "fuzzed" to nearest touch targets.
    146 # It's expected that this is enabled everywhere by default, but it may be
    147 # disabled for testing purposes as the algorithm is not yet perfect.
    148 # crbug.com/304895 tracks removal once we're satisfied with the algorithm.
    149 touchAdjustmentEnabled initial=true
    150 
    151 # A mostly-stable performance optimization. crbug.com/304518 tracks removal.
    152 compositorTouchHitTesting initial=true
    153 
    154 syncXHRInDocumentsEnabled initial=true
    155 cookieEnabled initial=true
    156 navigateOnDragDrop initial=true
    157 DOMPasteAllowed initial=false
    158 
    159 allowCustomScrollbarInMainFrame initial=true
    160 webSecurityEnabled initial=true
    161 
    162 # Special keyboard navigation mode intented for platforms with no
    163 # proper mouse or touch support, such as a TV controller with a remote.
    164 spatialNavigationEnabled initial=false
    165 
    166 # This setting adds a means to enable/disable touch initiated drag & drop. If
    167 # enabled, the user can initiate drag using long press.
    168 # crbug.com/304894 tracks removal once it's been enabled on all platforms.
    169 touchDragDropEnabled initial=false
    170 
    171 unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
    172 
    173 # Some apps could have a default video poster if it is not set.
    174 defaultVideoPosterURL type=String
    175 
    176 smartInsertDeleteEnabled initial=defaultSmartInsertDeleteEnabled
    177 selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled
    178 
    179 selectionIncludesAltImageText initial=false
    180 useLegacyBackgroundSizeShorthandBehavior initial=false
    181 
    182 # This quirk is to maintain compatibility with Android apps built on
    183 # the Android SDK prior to and including version 18.
    184 # Presumably, this can be removed any time after 2015.
    185 # See http://crbug.com/282130.
    186 viewportMetaZeroValuesQuirk initial=false
    187 
    188 # Another Android SDK <= 18 quirk, removable 2015.
    189 # See http://crbug.com/295287
    190 ignoreMainFrameOverflowHiddenQuirk initial=false
    191 
    192 # Yet another Android SDK <= 18 quirk, removable 2015.
    193 # See http://crbug.com/305236
    194 reportScreenSizeInPhysicalPixelsQuirk initial=false
    195 
    196 # One more Android SDK <= 18 quirk, removable 2015.
    197 # See http://crbug.com/306548
    198 viewportMetaMergeContentQuirk initial=false
    199 
    200 # This quirk is to maintain compatibility with Android apps.
    201 # It will be possible to remove it once WebSettings.{get|set}UseWideViewPort
    202 # API function will be removed.
    203 # See http://crbug.com/288037.
    204 wideViewportQuirkEnabled initial=false
    205 
    206 # Used by the android_webview to support a horizontal height auto-sizing
    207 # mode.
    208 forceZeroLayoutHeight initial=false, invalidate=ViewportDescription
    209 
    210 # Touch based text selection and editing on desktop.
    211 # crbug.com/304873 tracks removal once it's been enabled on all platforms.
    212 touchEditingEnabled initial=false
    213 
    214 # Settings for experimental desktop pinch-zoom support (with semantics
    215 # optimized for large screens).  Pinch-zoom generally is implemented mainly
    216 # outside of blink (in the compositor) and doesn't require any settings.
    217 # These settings are for an experimental modification to how pinch-zoom
    218 # behaves.  TODO(wjmaclean): link to design document.
    219 # crbug.com/304869 tracks removal.
    220 pinchVirtualViewportEnabled initial=false
    221 useSolidColorScrollbars initial=false
    222 pinchOverlayScrollbarThickness type=int, initial=0
    223 
    224 mainFrameClipsContent initial=true
    225 
    226 
    227 # Presumably used by LayoutTests?  Unclear.
    228 useWideViewport initial=true, invalidate=ViewportDescription
    229 loadWithOverviewMode initial=true, invalidate=ViewportDescription
    230 
    231 
    232 # Font scale factor for accessibility, applied as part of text autosizing.
    233 accessibilityFontScaleFactor type=double, initial=1.0, invalidate=TextAutosizing
    234 
    235 
    236 # Only set by Layout Tests.
    237 mediaTypeOverride type=String, initial="screen", invalidate=MediaType
    238 
    239 # loadsImagesAutomatically only suppresses the network load of
    240 # the image URL. A cached image will still be rendered if requested.
    241 loadsImagesAutomatically initial=false, invalidate=ImageLoading
    242 imagesEnabled initial=true, invalidate=ImageLoading
    243 
    244 javaEnabled initial=false
    245 pluginsEnabled initial=false
    246 
    247 viewportEnabled initial=false, invalidate=ViewportDescription
    248 viewportMetaEnabled initial=false
    249 
    250 dnsPrefetchingEnabled initial=false, invalidate=DNSPrefetching
    251 
    252 
    253 # FIXME: This is a temporary flag and should be removed once
    254 # accelerated overflow scroll is ready (crbug.com/254111).
    255 compositorDrivenAcceleratedScrollingEnabled initial=false, invalidate=AcceleratedCompositing
    256 
    257 # FIXME: This is a temporary flag and should be removed
    258 # when squashing is ready. (crbug.com/261605)
    259 layerSquashingEnabled initial=false
    260 
    261 # Clients that execute script should call ScriptController::canExecuteScripts()
    262 # instead of this function. ScriptController::canExecuteScripts() checks the
    263 # HTML sandbox, plug-in sandboxing, and other important details.
    264 scriptEnabled initial=false, invalidate=ScriptEnable
    265 
    266 # Compensates for poor text legibility on mobile devices. This value is
    267 # multiplied by the font scale factor when performing text autosizing of
    268 # websites that do not set an explicit viewport description.
    269 deviceScaleAdjustment type=double, initial=1.0, invalidate=TextAutosizing
    270 
    271 # This value indicates the maximum number of bytes a document is allowed
    272 # to transmit in Beacons (via navigator.sendBeacon()) -- Beacons are
    273 # intended to be smaller payloads transmitted as a page is unloading, not
    274 # a general (one-way) network transmission API.
    275 # The spec ( https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/Beacon/Overview.html )
    276 # does not proscribe an upper limit, but allows for it -- the underlying
    277 # API will return 'false' in that case.
    278 maxBeaconTransmission type=int, initial=16384
    279 
    280 # This value is set to false if the platform does not support fullscreen.
    281 # When set to false all the requests to enter fullscreen will return an error
    282 # (fullscreenerror or webkitfullscreenerror) as specified in the standard:
    283 # http://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen
    284 fullscreenSupported initial=true
    285 
    286 # FIXME: This is a temporary flag and should be removed once
    287 # the Android WebView framework supports fullscreen for non-media elements
    288 # (crbug.com/398485).
    289 # This value is set to false if the platform does not support fullscreen
    290 # for non-media elements. When set to true all the requests to enter fullscreen
    291 # on non-media elements will return an error.
    292 disallowFullscreenForNonMediaElements initial=false
    293