Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / frame / Settings.in
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 offlineWebApplicationCacheEnabled initial=false
79 usesEncodingDetector initial=false
80 allowScriptsToCloseWindows initial=false
81 regionBasedColumnsEnabled initial=false
82
83 containerCullingEnabled initial=false
84
85 # FIXME: This should really be disabled by default as it makes platforms that
86 # don't support the feature download files they can't use by.
87 # Leaving enabled for now to not change existing behavior.
88 downloadableBinaryFontsEnabled initial=true
89
90 xssAuditorEnabled initial=false
91 unsafePluginPastingEnabled initial=true
92 treatIPAddressAsDomain initial=false
93
94 preferCompositingToLCDTextEnabled initial=false, invalidate=AcceleratedCompositing
95
96 # 3D canvas (WebGL) support.
97 webGLEnabled initial=false
98
99 webGLErrorsToConsoleEnabled initial=true
100 accelerated2dCanvasEnabled initial=false
101 antialiased2dCanvasEnabled initial=true
102 antialiasedClips2dCanvasEnabled initial=false
103 accelerated2dCanvasMSAASampleCount type=int, initial=0
104
105 # WebAudio support.
106 webAudioEnabled initial=false
107
108 asynchronousSpellCheckingEnabled initial=false
109
110 hyperlinkAuditingEnabled initial=false
111 allowDisplayOfInsecureContent initial=true
112 allowRunningOfInsecureContent initial=true
113 # FIXME: Remove this temporary flag. See crbug.com/366483 for the target
114 # milestone.
115 allowConnectingInsecureWebSocket initial=false
116 mediaControlsOverlayPlayButtonEnabled initial=false
117 mediaPlaybackRequiresUserGesture initial=false
118
119 scrollAnimatorEnabled initial=true
120
121 # Used to disable threaded, compositor scrolling for testing purposes.
122 # crbug.com/410974 tracks removal once alternative solutions for selective
123 # main thread scrolling are supported.
124 threadedScrollingEnabled initial=true, invalidate=Style
125
126 # Handles frame-level scrolls via the root RenderLayer instead of the FrameView.
127 # crbug.com/417782 tracks enabling this by default.
128 rootLayerScrolls initial=false
129
130 # Used in layout tests for gesture tap highlights. Makes the highlights square
131 # (rather than rounded) to make it possible to reftest the results.
132 mockGestureTapHighlightsEnabled initial=false
133
134 shouldRespectImageOrientation initial=false
135
136 # Limited use by features which behave differently depending on the input
137 # devices available.  For example, the pointer and hover media queries.
138 # Note that we need to be careful when basing behavior or UI on this -
139 # just because a device is present doesn't mean the user cares about it
140 # or uses it (i.e. Chromebook Pixel users generally don't want to give up
141 # screen real estate just because they happen to have a touchscreen).
142 deviceSupportsTouch initial=false
143 deviceSupportsMouse initial=true
144
145 # This value indicates the number of simultaneous multi-touch points supported
146 # by the currently connected screen/digitizer that supports the most points.
147 # From Pointer Events spec:
148 #   http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints
149 maxTouchPoints type=int, initial=0
150
151 # Whether touch gestures should be "fuzzed" to nearest touch targets.
152 # It's expected that this is enabled everywhere by default, but it may be
153 # disabled for testing purposes as the algorithm is not yet perfect.
154 # crbug.com/304895 tracks removal once we're satisfied with the algorithm.
155 touchAdjustmentEnabled initial=true
156
157 syncXHRInDocumentsEnabled initial=true
158 cookieEnabled initial=true
159 navigateOnDragDrop initial=true
160 DOMPasteAllowed initial=false
161
162 allowCustomScrollbarInMainFrame initial=true
163 webSecurityEnabled initial=true
164
165 # Special keyboard navigation mode intented for platforms with no
166 # proper mouse or touch support, such as a TV controller with a remote.
167 spatialNavigationEnabled initial=false
168
169 # This setting adds a means to enable/disable touch initiated drag & drop. If
170 # enabled, the user can initiate drag using long press.
171 # crbug.com/304894 tracks removal once it's been enabled on all platforms.
172 touchDragDropEnabled initial=false
173
174 unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
175
176 # Some apps could have a default video poster if it is not set.
177 defaultVideoPosterURL type=String
178
179 smartInsertDeleteEnabled initial=defaultSmartInsertDeleteEnabled
180 selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled
181
182 selectionIncludesAltImageText initial=false
183 useLegacyBackgroundSizeShorthandBehavior initial=false
184
185 # This quirk is to maintain compatibility with Android apps built on
186 # the Android SDK prior to and including version 18.
187 # Presumably, this can be removed any time after 2015.
188 # See http://crbug.com/282130.
189 viewportMetaZeroValuesQuirk initial=false
190
191 # Another Android SDK <= 18 quirk, removable 2015.
192 # See http://crbug.com/295287
193 ignoreMainFrameOverflowHiddenQuirk initial=false
194
195 # Yet another Android SDK <= 18 quirk, removable 2015.
196 # See http://crbug.com/305236
197 reportScreenSizeInPhysicalPixelsQuirk initial=false
198
199 # One more Android SDK <= 18 quirk, removable 2015.
200 # See http://crbug.com/306548
201 viewportMetaMergeContentQuirk initial=false
202
203 # This quirk is to maintain compatibility with Android apps.
204 # It will be possible to remove it once WebSettings.{get|set}UseWideViewPort
205 # API function will be removed.
206 # See http://crbug.com/288037.
207 wideViewportQuirkEnabled initial=false
208
209 # Used by the android_webview to support a horizontal height auto-sizing
210 # mode.
211 forceZeroLayoutHeight initial=false, invalidate=ViewportDescription
212
213 # Touch based text selection and editing on desktop.
214 # crbug.com/304873 tracks removal once it's been enabled on all platforms.
215 touchEditingEnabled initial=false
216
217 # Settings for experimental desktop pinch-zoom support (with semantics
218 # optimized for large screens).  Pinch-zoom generally is implemented mainly
219 # outside of blink (in the compositor) and doesn't require any settings.
220 # These settings are for an experimental modification to how pinch-zoom
221 # behaves.  TODO(wjmaclean): link to design document.
222 # crbug.com/304869 tracks removal.
223 pinchVirtualViewportEnabled initial=false
224 useSolidColorScrollbars initial=false
225 pinchOverlayScrollbarThickness type=int, initial=0
226
227 mainFrameClipsContent initial=true
228
229
230 # Presumably used by LayoutTests?  Unclear.
231 useWideViewport initial=true, invalidate=ViewportDescription
232 loadWithOverviewMode initial=true, invalidate=ViewportDescription
233
234
235 # Font scale factor for accessibility, applied as part of text autosizing.
236 accessibilityFontScaleFactor type=double, initial=1.0, invalidate=TextAutosizing
237
238
239 # Only set by Layout Tests.
240 mediaTypeOverride type=String, initial="screen", invalidate=MediaType
241
242 # loadsImagesAutomatically only suppresses the network load of
243 # the image URL. A cached image will still be rendered if requested.
244 loadsImagesAutomatically initial=false, invalidate=ImageLoading
245 imagesEnabled initial=true, invalidate=ImageLoading
246
247 javaEnabled initial=false
248 pluginsEnabled initial=false
249
250 viewportEnabled initial=false, invalidate=ViewportDescription
251 viewportMetaEnabled initial=false
252
253 dnsPrefetchingEnabled initial=false, invalidate=DNSPrefetching
254
255 # FIXME: This is a temporary flag and should be removed
256 # when squashing is ready. (crbug.com/261605)
257 layerSquashingEnabled initial=false
258
259 # Clients that execute script should call ScriptController::canExecuteScripts()
260 # instead of this function. ScriptController::canExecuteScripts() checks the
261 # HTML sandbox, plug-in sandboxing, and other important details.
262 scriptEnabled initial=false, invalidate=ScriptEnable
263
264 # Compensates for poor text legibility on mobile devices. This value is
265 # multiplied by the font scale factor when performing text autosizing of
266 # websites that do not set an explicit viewport description.
267 deviceScaleAdjustment type=double, initial=1.0, invalidate=TextAutosizing
268
269 # This value indicates the maximum number of bytes a document is allowed
270 # to transmit in Beacons (via navigator.sendBeacon()) -- Beacons are
271 # intended to be smaller payloads transmitted as a page is unloading, not
272 # a general (one-way) network transmission API.
273 # The spec ( https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/Beacon/Overview.html )
274 # does not proscribe an upper limit, but allows for it -- the underlying
275 # API will return 'false' in that case.
276 maxBeaconTransmission type=int, initial=65536
277
278 # This value is set to false if the platform does not support fullscreen.
279 # When set to false all the requests to enter fullscreen will return an error
280 # (fullscreenerror or webkitfullscreenerror) as specified in the standard:
281 # http://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen
282 fullscreenSupported initial=true
283
284 # V8 supports different types of caching. Used by V8 bindings.
285 v8CacheOptions type=V8CacheOptions, initial=V8CacheOptionsOff
286
287 v8ScriptStreamingEnabled initial=false
288 v8ScriptStreamingMode type=ScriptStreamingMode, initial=ScriptStreamingModeAll
289
290 # These values are bit fields for the properties of available pointing devices
291 # and may take on multiple values (e.g. laptop with touchpad and touchscreen
292 # has pointerType coarse *and* fine).
293 availablePointerTypes type=int, initial=PointerTypeNone, invalidate=MediaQuery
294 availableHoverTypes type=int, initial=HoverTypeNone, invalidate=MediaQuery
295
296 # These values specify properties of the user's primary pointing device only.
297 primaryPointerType type=PointerType, initial=PointerTypeNone, invalidate=MediaQuery
298 primaryHoverType type=HoverType, initial=HoverTypeNone, invalidate=MediaQuery
299
300 # Whether accessibility support is enabled at all.
301 accessibilityEnabled initial=false, invalidate=AccessibilityState
302
303 # If true, the value in password fields is exposed to assistive technologies.
304 accessibilityPasswordValuesEnabled initial=false
305
306 # If true, static text nodes expose inline text box children.
307 inlineTextBoxAccessibilityEnabled initial=false