summaryrefslogtreecommitdiff
path: root/Source/core/frame/Settings.in
blob: 127a24e8ca1f40002a2421ad0d836a2538c49f86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# Defines properties which are available on the Settings object.
#
# Please think carefully before adding a new Setting.  Some questions to
# consider are:
# - Should this be a RuntimeEnabledFeature instead? Settings are for things
#   which we support either values of at runtime.  Features are set at renderer
#   process startup and are never changed. Features also tend to be set to a
#   value based on the platform or the stability of the code in question, where
#   as settings both codepaths need to be stable.
# - How will you ensure test coverage of all relevant values of your setting?
# - Is the default value appropriate for other platforms or ports which may
#   not be aware of your setting?
# - Can your setting result in behavior differences observable to web
#   developers?
# - Should this setting ideally be removed in the future?  If so please file
#   a bug and reference it in the comments for your setting.
#
# One reason to add a Setting is to manage the risk associated with adding a
# new feature.  For example, we may choose to ship a new UI behavior or
# performance optimization to ChromeOS users first (in order to gather feedback
# and metrics on its use from the wild) before attempting to ship it to
# Windows.
#
# FIXME: Add support for global settings.
# FIXME: Add support for custom getters/setters.

defaultTextEncodingName type=String

# Do not hide chars typed in password fields immediately, but let the last char stay
# visible for N seconds, configured by the passwordEchoDurationInSeconds setting
# FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a positive value.
passwordEchoEnabled initial=false

# Configure how long the last char should say visible in seconds.
passwordEchoDurationInSeconds type=double, initial=1

# Sets the magnification value for validation message timer.  If the
# magnification value is N, a validation message disappears automatically after
# <message length> * N / 1000 seconds.  If N is equal to or less than 0, a
# validation message doesn't disappears automaticaly.
validationMessageTimerMagnification type=int, initial=50

# Number of pixels below which 2D canvas is rendered in software
# even if hardware acceleration is enabled.
# Hardware acceleration is useful for large canvases where it can avoid the
# pixel bandwidth between the CPU and GPU. But GPU acceleration comes at
# a price - extra back-buffer and texture copy. Small canvases are also
# widely used for stylized fonts. Anti-aliasing text in hardware at that
# scale is generally slower. So below a certain size it is better to
# draw canvas in software.
minimumAccelerated2dCanvasSize type=int, initial=257*256

minimumFontSize type=int, initial=0, invalidate=Style
minimumLogicalFontSize type=int, initial=0, invalidate=Style
defaultFontSize type=int, initial=0, invalidate=Style
defaultFixedFontSize type=int, initial=0, invalidate=Style

editingBehaviorType type=EditingBehaviorType, initial=editingBehaviorTypeForPlatform()

caretBrowsingEnabled initial=false
localStorageEnabled initial=false
allowUniversalAccessFromFileURLs initial=true
allowFileAccessFromFileURLs initial=true
javaScriptCanOpenWindowsAutomatically initial=false
supportsMultipleWindows initial=true
javaScriptCanAccessClipboard initial=false
shouldPrintBackgrounds initial=false
shouldClearDocumentBackground initial=true

textAreasAreResizable initial=false, invalidate=Style
acceleratedCompositingEnabled initial=true, invalidate=AcceleratedCompositing

# Debugging feature used for accelerated compositing layers.
showRepaintCounter initial=false, invalidate=AcceleratedCompositing

shrinksStandaloneImagesToFit initial=true

# FIXME: Does this do anything now that we don't support page cache?
pageCacheSupportsPlugins initial=false

needsSiteSpecificQuirks initial=false
offlineWebApplicationCacheEnabled initial=false
usesEncodingDetector initial=false
allowScriptsToCloseWindows initial=false
deferredFiltersEnabled initial=false
regionBasedColumnsEnabled initial=false

containerCullingEnabled initial=false

# FIXME: This should really be disabled by default as it makes platforms that
# don't support the feature download files they can't use by.
# Leaving enabled for now to not change existing behavior.
downloadableBinaryFontsEnabled initial=true

xssAuditorEnabled initial=false
unsafePluginPastingEnabled initial=true
treatIPAddressAsDomain initial=false

acceleratedCompositingFor3DTransformsEnabled initial=true, invalidate=AcceleratedCompositing
acceleratedCompositingForVideoEnabled initial=true, invalidate=AcceleratedCompositing
acceleratedCompositingForPluginsEnabled initial=true, invalidate=AcceleratedCompositing
acceleratedCompositingForCanvasEnabled initial=true, invalidate=AcceleratedCompositing
acceleratedCompositingForAnimationEnabled initial=true, invalidate=AcceleratedCompositing
acceleratedCompositingForFiltersEnabled initial=false, invalidate=AcceleratedCompositing
acceleratedCompositingForFixedPositionEnabled initial=false, invalidate=AcceleratedCompositing
acceleratedCompositingForOverflowScrollEnabled initial=false, invalidate=AcceleratedCompositing
acceleratedCompositingForFixedRootBackgroundEnabled initial=false
acceleratedCompositingForGpuRasterizationHintEnabled initial=false, invalidate=AcceleratedCompositing

forceCompositingMode initial=false, invalidate=AcceleratedCompositing

# Works only in conjunction with forceCompositingMode.
# crbug.com/304900 tracks removal once enabled on all platforms.
acceleratedCompositingForScrollableFramesEnabled initial=false, invalidate=AcceleratedCompositing
compositedScrollingForFramesEnabled initial=false

# 3D canvas (WebGL) support.
webGLEnabled initial=false

webGLErrorsToConsoleEnabled initial=true
privilegedWebGLExtensionsEnabled initial=false
accelerated2dCanvasEnabled initial=false
antialiased2dCanvasEnabled initial=true
accelerated2dCanvasMSAASampleCount type=int, initial=0

# WebAudio support.
webAudioEnabled initial=false

asynchronousSpellCheckingEnabled initial=false
preciseMemoryInfoEnabled initial=false

hyperlinkAuditingEnabled initial=false
allowDisplayOfInsecureContent initial=true
allowRunningOfInsecureContent initial=true
mediaPlaybackRequiresUserGesture initial=false
visualWordMovementEnabled initial=false
shouldDisplaySubtitles initial=false
shouldDisplayCaptions initial=false
shouldDisplayTextDescriptions initial=false

scrollingCoordinatorEnabled initial=false
scrollAnimatorEnabled initial=true

shouldRespectImageOrientation initial=false

# Limited use by features which behave differently depending on the input
# devices available.  For example, the pointer and hover media queries.
# Note that we need to be careful when basing behavior or UI on this -
# just because a device is present doesn't mean the user cares about it
# or uses it (i.e. Chromebook Pixel users generally don't want to give up
# screen real estate just because they happen to have a touchscreen).
deviceSupportsTouch initial=false
deviceSupportsMouse initial=true

# This value indicates the number of simultaneous multi-touch points supported
# by the currently connected screen/digitizer that supports the most points.
# From Pointer Events spec:
#   http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints
maxTouchPoints type=int, initial=0

# Whether touch gestures should be "fuzzed" to nearest touch targets.
# It's expected that this is enabled everywhere by default, but it may be
# disabled for testing purposes as the algorithm is not yet perfect.
# crbug.com/304895 tracks removal once we're satisfied with the algorithm.
touchAdjustmentEnabled initial=true

# A mostly-stable performance optimization. crbug.com/304518 tracks removal.
compositorTouchHitTesting initial=true

syncXHRInDocumentsEnabled initial=true
cookieEnabled initial=true
navigateOnDragDrop initial=true
DOMPasteAllowed initial=false

threadedHTMLParser initial=false
useThreadedHTMLParserForDataURLs initial=false

allowCustomScrollbarInMainFrame initial=true
webSecurityEnabled initial=true

# Special keyboard navigation mode intented for platforms with no
# proper mouse or touch support, such as a TV controller with a remote.
spatialNavigationEnabled initial=false

# This setting adds a means to enable/disable touch initiated drag & drop. If
# enabled, the user can initiate drag using long press.
# crbug.com/304894 tracks removal once it's been enabled on all platforms.
touchDragDropEnabled initial=false

unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled

# Some apps could have a default video poster if it is not set.
defaultVideoPosterURL type=String

smartInsertDeleteEnabled initial=defaultSmartInsertDeleteEnabled
selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled

selectionIncludesAltImageText initial=false
useLegacyBackgroundSizeShorthandBehavior initial=false

# This quirk is to maintain compatibility with Android apps built on
# the Android SDK prior to and including version 18.
# Presumably, this can be removed any time after 2015.
# See http://crbug.com/282130.
viewportMetaZeroValuesQuirk initial=false

# Another Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/295287
ignoreMainFrameOverflowHiddenQuirk initial=false

# Yet another Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/305236
reportScreenSizeInPhysicalPixelsQuirk initial=false

# One more Android SDK <= 18 quirk, removable 2015.
# See http://crbug.com/306548
viewportMetaMergeContentQuirk initial=false

# This quirk is to maintain compatibility with Android apps.
# It will be possible to remove it once WebSettings.{get|set}UseWideViewPort
# API function will be removed.
# See http://crbug.com/288037.
wideViewportQuirkEnabled initial=false

# Touch based text selection and editing on desktop.
# crbug.com/304873 tracks removal once it's been enabled on all platforms.
touchEditingEnabled initial=false

# Settings for experimental desktop pinch-zoom support (with semantics
# optimized for large screens).  Pinch-zoom generally is implemented mainly
# outside of blink (in the compositor) and doesn't require any settings.
# These settings are for an experimental modification to how pinch-zoom
# behaves.  TODO(wjmaclean): link to design document.
# crbug.com/304869 tracks removal.
pinchVirtualViewportEnabled initial=false
useSolidColorScrollbars initial=false
pinchOverlayScrollbarThickness type=int, initial=0

mainFrameClipsContent initial=true

# Enable decoration shadow nodes to test password genration feature
# crbug.com/114092. This flag should not be enabled for production.
passwordGenerationDecorationEnabled initial=false


# Presumably used by LayoutTests?  Unclear.
useWideViewport initial=true, invalidate=ViewportDescription
loadWithOverviewMode initial=true, invalidate=ViewportDescription


# Font scale factor for accessibility, applied as part of text autosizing.
accessibilityFontScaleFactor type=double, initial=1.0, invalidate=TextAutosizing


# Only set by Layout Tests.
mediaTypeOverride type=String, initial="screen", invalidate=MediaType

# loadsImagesAutomatically only suppresses the network load of
# the image URL. A cached image will still be rendered if requested.
loadsImagesAutomatically initial=false, invalidate=ImageLoading
imagesEnabled initial=true, invalidate=ImageLoading

javaEnabled initial=false
pluginsEnabled initial=false

viewportEnabled initial=false, invalidate=ViewportDescription
viewportMetaEnabled initial=false

dnsPrefetchingEnabled initial=false, invalidate=DNSPrefetching

touchEventEmulationEnabled initial=false

# FIXME: This is a temporary flag and should be removed once
# accelerated overflow scroll is ready (crbug.com/254111).
compositorDrivenAcceleratedScrollingEnabled initial=false, invalidate=AcceleratedCompositing

# FIXME: This is a temporary flag and should be removed
# when squashing is ready. (crbug.com/261605)
layerSquashingEnabled initial=false

# Clients that execute script should call ScriptController::canExecuteScripts()
# instead of this function. ScriptController::canExecuteScripts() checks the
# HTML sandbox, plug-in sandboxing, and other important details.
scriptEnabled initial=false, invalidate=ScriptEnable

# Compensates for poor text legibility on mobile devices. This value is
# multiplied by the font scale factor when performing text autosizing of
# websites that do not set an explicit viewport description.
deviceScaleAdjustment type=double, initial=1.0, invalidate=TextAutosizing