7c8141486d16071a0c0dbb00feedfc53515c2718
[WebKit-https.git] / Source / WebCore / page / Settings.in
1 # FIXME: Add support for global settings.
2 # FIXME: Add support for custom getters/setters.
3
4 defaultTextEncodingName type=String
5 ftpDirectoryTemplatePath type=String
6 localStorageDatabasePath type=String
7 editableLinkBehavior type=EditableLinkBehavior, initial=EditableLinkDefaultBehavior
8 textDirectionSubmenuInclusionBehavior type=TextDirectionSubmenuInclusionBehavior, initial=TextDirectionSubmenuAutomaticallyIncluded
9 pdfImageCachingPolicy type=PDFImageCachingPolicy, initial = PDFImageCachingDefault
10 passwordEchoDurationInSeconds type=double, initial=1
11
12 # Sets the magnification value for validation message timer.  If the
13 # magnification value is N, a validation message disappears automatically after
14 # <message length> * N / 1000 seconds.  If N is equal to or less than 0, a
15 # validation message doesn't disappears automaticaly.
16 validationMessageTimerMagnification type=int, initial=50
17
18 # Number of pixels below which 2D canvas is rendered in software
19 # even if hardware acceleration is enabled.
20 # Hardware acceleration is useful for large canvases where it can avoid the
21 # pixel bandwidth between the CPU and GPU. But GPU acceleration comes at
22 # a price - extra back-buffer and texture copy. Small canvases are also
23 # widely used for stylized fonts. Anti-aliasing text in hardware at that
24 # scale is generally slower. So below a certain size it is better to
25 # draw canvas in software.
26 minimumAccelerated2dCanvasSize type=int, initial=257*256
27
28 maximumAccelerated2dCanvasSize type=unsigned, initial=5120*2880
29
30 layoutFallbackWidth type=int, initial=980
31 deviceWidth type=int, initial=0
32 deviceHeight type=int, initial=0
33
34 # Allow clients concerned with memory consumption to set a quota on session storage
35 # since the memory used won't be released until the Page is destroyed.
36 sessionStorageQuota type=unsigned, initial=StorageMap::noQuota
37
38 minimumFontSize type=int, initial=0, onChange=setNeedsRecalcStyleInAllFrames
39 minimumLogicalFontSize type=int, initial=0, onChange=setNeedsRecalcStyleInAllFrames
40 defaultFontSize type=int, initial=16, onChange=setNeedsRecalcStyleInAllFrames
41 defaultFixedFontSize type=int, initial=0, onChange=setNeedsRecalcStyleInAllFrames
42
43 editingBehaviorType type=EditingBehaviorType, initial=editingBehaviorTypeForPlatform()
44 maximumHTMLParserDOMTreeDepth type=unsigned, initial=defaultMaximumHTMLParserDOMTreeDepth
45
46 # This setting only affects site icon image loading if loadsImagesAutomatically setting is false and this setting is true.
47 # All other permutations still heed loadsImagesAutomatically setting.
48 loadsSiteIconsIgnoringImageLoadingSetting initial=false
49
50 caretBrowsingEnabled initial=false
51 preventKeyboardDOMEventDispatch initial=false
52 localStorageEnabled initial=false
53 allowUniversalAccessFromFileURLs initial=true
54 allowFileAccessFromFileURLs initial=true
55 needsStorageAccessFromFileURLsQuirk initial=true
56 javaScriptCanOpenWindowsAutomatically initial=false
57 javaScriptCanAccessClipboard initial=false
58 shouldPrintBackgrounds initial=false
59 usesDashboardBackwardCompatibilityMode initial=false, conditional=DASHBOARD_SUPPORT
60 clipboardAccessPolicy type=ClipboardAccessPolicy, initial=ClipboardAccessPolicy::RequiresUserGesture
61
62 textAreasAreResizable initial=false, onChange=setNeedsRecalcStyleInAllFrames
63 authorAndUserStylesEnabled initial=true, onChange=setNeedsRecalcStyleInAllFrames
64 userStyleSheetLocation type=URL, onChange=userStyleSheetLocationChanged
65 acceleratedCompositingEnabled initial=true, onChange=setNeedsRecalcStyleInAllFrames
66 acceleratedCompositedAnimationsEnabled initial=true, onChange=setNeedsRecalcStyleInAllFrames
67 showDebugBorders initial=false, onChange=setNeedsRecalcStyleInAllFrames
68 showRepaintCounter initial=false, onChange=setNeedsRecalcStyleInAllFrames
69 visibleDebugOverlayRegions type=DebugOverlayRegions, initial=0
70 showTiledScrollingIndicator initial=false
71 resourceUsageOverlayVisible initial=false, onChange=resourceUsageOverlayVisibleChanged, condition=RESOURCE_USAGE
72
73 # This is a quirk we are pro-actively applying to old applications. It changes keyboard event dispatching,
74 # making keyIdentifier available on keypress events, making charCode available on keydown/keyup events,
75 # and getting keypress dispatched in more cases.
76 needsKeyboardEventDisambiguationQuirks initial=false
77
78 treatsAnyTextCSSLinkAsStylesheet initial=false
79 shrinksStandaloneImagesToFit initial=true
80 pageCacheSupportsPlugins initial=false
81 showsURLsInToolTips initial=false
82 showsToolTipOverTruncatedText initial=false
83 forceFTPDirectoryListings initial=false
84 developerExtrasEnabled initial=false
85 scriptMarkupEnabled initial=true
86 needsSiteSpecificQuirks initial=false
87 domTimersThrottlingEnabled initial=true
88 webArchiveDebugModeEnabled initial=false, conditional=WEB_ARCHIVE
89 localFileContentSniffingEnabled initial=false
90 offlineWebApplicationCacheEnabled initial=false
91 enforceCSSMIMETypeInNoQuirksMode initial=true
92 usesEncodingDetector initial=false
93 allowScriptsToCloseWindows initial=false
94 canvasUsesAcceleratedDrawing initial=false
95 acceleratedDrawingEnabled initial=false
96 displayListDrawingEnabled initial=false
97 acceleratedFiltersEnabled initial=false
98 useLegacyTextAlignPositionedElementBehavior initial=false
99 javaScriptRuntimeFlags type=JSC::RuntimeFlags
100
101 # FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
102 # they can't use by. Leaving enabled for now to not change existing behavior.
103 downloadableBinaryFontsEnabled initial=true
104
105 xssAuditorEnabled initial=false
106 acceleratedCompositingForFixedPositionEnabled initial=defaultAcceleratedCompositingForFixedPositionEnabled
107 acceleratedCompositingForOverflowScrollEnabled initial=false
108 rubberBandingForSubScrollableRegionsEnabled initial=true, conditional=RUBBER_BANDING
109
110 experimentalNotificationsEnabled initial=false
111 webGLEnabled initial=false
112 webGLErrorsToConsoleEnabled initial=true
113 forceSoftwareWebGLRendering initial=false
114 forceWebGLUsesLowPower initial=false
115 accelerated2dCanvasEnabled initial=false
116 loadDeferringEnabled initial=true
117 webAudioEnabled initial=false
118 paginateDuringLayoutEnabled initial=false
119 fullScreenEnabled initial=false, conditional=FULLSCREEN_API
120 asynchronousSpellCheckingEnabled initial=false
121
122 # This feature requires an implementation of ValidationMessageClient.
123 interactiveFormValidationEnabled initial=false
124
125 usePreHTML5ParserQuirks initial=false
126 hyperlinkAuditingEnabled initial=false
127 crossOriginCheckInGetMatchedCSSRulesDisabled initial=false
128 forceCompositingMode initial=false
129 shouldInjectUserScriptsInInitialEmptyDocument initial=false
130 fixedElementsLayoutRelativeToFrame initial=false
131 allowDisplayOfInsecureContent initial=false
132 allowRunningOfInsecureContent initial=false
133 requiresUserGestureToLoadVideo initial=defaultRequiresUserGestureToLoadVideo
134 videoPlaybackRequiresUserGesture initial=defaultVideoPlaybackRequiresUserGesture
135 audioPlaybackRequiresUserGesture initial=defaultAudioPlaybackRequiresUserGesture
136 mainContentUserGestureOverrideEnabled initial=false
137 mediaUserGestureInheritsFromDocument initial=false
138 allowsInlineMediaPlayback initial=defaultAllowsInlineMediaPlayback
139 allowsInlineMediaPlaybackAfterFullscreen initial=true
140 inlineMediaPlaybackRequiresPlaysInlineAttribute initial=defaultInlineMediaPlaybackRequiresPlaysInlineAttribute
141 allowsPictureInPictureMediaPlayback initial=defaultAllowsPictureInPictureMediaPlayback
142 mediaControlsScaleWithPageZoom initial=defaultMediaControlsScaleWithPageZoom
143 invisibleAutoplayNotPermitted initial=false
144 passwordEchoEnabled initial=false
145 suppressesIncrementalRendering initial=false
146 incrementalRenderingSuppressionTimeoutInSeconds type=double, initial=defaultIncrementalRenderingSuppressionTimeoutInSeconds
147 backspaceKeyNavigationEnabled initial=true
148 shouldDisplaySubtitles initial=false, conditional=VIDEO_TRACK
149 shouldDisplayCaptions initial=false, conditional=VIDEO_TRACK
150 shouldDisplayTextDescriptions initial=false, conditional=VIDEO_TRACK
151 scrollingCoordinatorEnabled initial=false
152 scrollingTreeIncludesFrames initial=defaultScrollingTreeIncludesFrames
153 scrollAnimatorEnabled initial=true, conditional=SMOOTH_SCROLLING
154 forceUpdateScrollbarsOnMainThreadForPerformanceTesting initial=false
155 notificationsEnabled initial=true
156
157 # Some apps needs isLoadingInAPISense to account for active subresource loaders.
158 needsIsLoadingInAPISenseQuirk initial=false
159
160 shouldRespectImageOrientation initial=defaultShouldRespectImageOrientation
161 imageSubsamplingEnabled initial=defaultImageSubsamplingEnabled
162 wantsBalancedSetDefersLoadingBehavior initial=false
163 requestAnimationFrameEnabled initial=true
164
165 cookieEnabled initial=true
166 mediaEnabled initial=true
167 DOMPasteAllowed initial=false
168
169 # When enabled, window.blur() does not change focus, and
170 # window.focus() only changes focus when invoked from the context that
171 # created the window.
172 windowFocusRestricted initial=true
173
174 diagnosticLoggingEnabled initial=false
175 delegatesPageScaling initial=false
176 plugInSnapshottingEnabled initial=false
177 snapshotAllPlugIns initial=false
178 autostartOriginPlugInSnapshottingEnabled initial=true
179 primaryPlugInSnapshotDetectionEnabled initial=true
180 maximumPlugInSnapshotAttempts type=unsigned, initial=20
181 frameFlattening type=FrameFlattening, initial=FrameFlattening::Disabled
182 asyncFrameScrollingEnabled initial=false
183
184 webSecurityEnabled initial=true
185 spatialNavigationEnabled initial=false
186
187 autoscrollForDragAndDropEnabled initial=false
188
189 unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
190
191 logsPageMessagesToSystemConsoleEnabled initial=false
192
193 backForwardCacheExpirationInterval type=double, initial=1800
194
195 # Some apps could have a default video poster if it is not set.
196 defaultVideoPosterURL type=String
197
198 smartInsertDeleteEnabled initial=defaultSmartInsertDeleteEnabled
199 selectTrailingWhitespaceEnabled initial=defaultSelectTrailingWhitespaceEnabled
200
201 useLegacyBackgroundSizeShorthandBehavior initial=false
202 fixedBackgroundsPaintRelativeToDocument initial=defaultFixedBackgroundsPaintRelativeToDocument
203
204 textAutosizingEnabled initial=defaultTextAutosizingEnabled(), onChange=setNeedsRecalcStyleInAllFrames, conditional=TEXT_AUTOSIZING
205 textAutosizingWindowSizeOverride type=IntSize, onChange=setNeedsRecalcStyleInAllFrames, conditional=TEXT_AUTOSIZING
206 minimumZoomFontSize type=float, initial=defaultMinimumZoomFontSize(), conditional=TEXT_AUTOSIZING
207
208 subpixelAntialiasedLayerTextEnabled initial=false, onChange=setNeedsRecalcStyleInAllFrames
209 simpleLineLayoutEnabled initial=true, onChange=setNeedsRecalcStyleInAllFrames
210 simpleLineLayoutDebugBordersEnabled initial=false, onChange=setNeedsRecalcStyleInAllFrames
211
212 subpixelCSSOMElementMetricsEnabled initial=false
213
214 useGiantTiles initial=false
215
216 mediaSourceEnabled initial=true, conditional=MEDIA_SOURCE
217
218 # FIXME: Rename to allowMultiElementImplicitFormSubmission once we upstream the iOS changes to WebView.mm.
219 allowMultiElementImplicitSubmission initial=false
220
221 allowsAirPlayForMediaPlayback initial=true, conditional=WIRELESS_PLAYBACK_TARGET
222
223 shouldConvertPositionStyleOnCopy initial=false
224
225 maxParseDuration type=double, initial=-1
226 standalone initial=false
227 telephoneNumberParsingEnabled initial=false
228 mediaDataLoadsAutomatically initial=defaultMediaDataLoadsAutomatically
229 alwaysUseAcceleratedOverflowScroll initial=false
230 imageControlsEnabled initial=false, conditional=SERVICE_CONTROLS
231
232 enableInheritURIQueryComponent initial=false
233
234 aggressiveTileRetentionEnabled initial=false
235 temporaryTileCohortRetentionEnabled initial=true
236
237 useImageDocumentForSubframePDF initial=false
238 dataDetectorTypes type=DataDetectorTypes, initial=DataDetectorTypeNone, conditional=DATA_DETECTION
239
240 # Allow SourceBuffers to store up to 304MB each, enough for approximately five minutes
241 # of 1080p video and stereo audio.
242 maximumSourceBufferSize type=int, initial=318767104, conditional=MEDIA_SOURCE
243
244 serviceControlsEnabled initial=false, conditional=SERVICE_CONTROLS
245
246 appleMailPaginationQuirkEnabled initial=false
247
248 deferredCSSParserEnabled initial=false
249
250 repaintOutsideLayoutEnabled initial=false
251
252 httpEquivEnabled initial=true
253
254 # Some ports (e.g. iOS) might choose to display attachments inline, regardless of whether the response includes the
255 # HTTP header "Content-Disposition: attachment". This setting enables a sandbox around these attachments. The sandbox
256 # enforces all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also disables <meta http-equiv>
257 # processing and subframe loading.
258 contentDispositionAttachmentSandboxEnabled initial=false
259
260 userInterfaceDirectionPolicy type=UserInterfaceDirectionPolicy, initial=UserInterfaceDirectionPolicy::Content
261 systemLayoutDirection type=TextDirection, initial=LTR
262
263 allowContentSecurityPolicySourceStarToMatchAnyProtocol initial=false
264
265 selectionPaintingWithoutSelectionGapsEnabled initial=false
266
267 shouldConvertInvalidURLsToBlank initial=true
268
269 springTimingFunctionEnabled initial=false
270
271 treatIPAddressAsDomain initial=false
272
273 mediaPreloadingEnabled initial=false
274
275 # Runtime-enabled features
276 visualViewportEnabled initial=false, onChange=setNeedsRecalcStyleInAllFrames
277
278 inputEventsEnabled initial=true
279
280 quickTimePluginReplacementEnabled initial=defaultQuickTimePluginReplacementEnabled
281 youTubeFlashPluginReplacementEnabled initial=defaultYouTubeFlashPluginReplacementEnabled
282
283 forcedColorsAreInvertedAccessibilityValue type=ForcedAccessibilityValue, initial=defaultForcedColorsAreInvertedAccessibilityValue
284 forcedDisplayIsMonochromeAccessibilityValue type=ForcedAccessibilityValue, initial=defaultForcedDisplayIsMonochromeAccessibilityValue
285 forcedPrefersReducedMotionAccessibilityValue type=ForcedAccessibilityValue, initial=defaultForcedPrefersReducedMotionAccessibilityValue
286
287 largeImageAsyncDecodingEnabled initial=true
288 animatedImageAsyncDecodingEnabled initial=true
289 webkitImageReadyEventEnabled initial=false
290
291 shouldSuppressKeyboardInputDuringProvisionalNavigation initial=false
292
293 langAttributeAwareFormControlUIEnabled initial=false
294
295 subresourceIntegrityEnabled initial=true
296
297 linkPreconnectEnabled initial=false
298
299 beaconAPIEnabled initial=false
300
301 geolocationFloorLevelEnabled initial=true
302
303 constantPropertiesEnabled initial=false
304
305 viewportFitEnabled initial=false
306
307 allowMediaContentTypesRequiringHardwareSupportAsFallback initial=false
308
309 storageAccessAPIEnabled initial=false
310
311 timeWithoutMouseMovementBeforeHidingControls type=Seconds, initial=3_s 
312
313 fontFallbackPrefersPictographs initial=false, onChange=setNeedsRecalcStyleInAllFrames
314
315 fontLoadTimingOverride type=FontLoadTimingOverride, initial=FontLoadTimingOverride::None
316 shouldIgnoreFontLoadCompletions initial=false
317
318 paymentRequestEnabled initial=false, conditional=PAYMENT_REQUEST
319 applePayEnabled initial=false, conditional=APPLE_PAY
320 applePayCapabilityDisclosureAllowed initial=true, conditional=APPLE_PAY
321
322 javaEnabled initial=false, getter=isJavaEnabled
323 javaEnabledForLocalFiles initial=true, getter=isJavaEnabledForLocalFiles
324
325 # Unlike the imagesEnabled setting, this only suppresses the network load of
326 # the image URL. A cached image will still be rendered if requested.
327 loadsImagesAutomatically initial=false, onChange=imagesEnabledChanged
328 imagesEnabled initial=true, getter=areImagesEnabled, onChange=imagesEnabledChanged
329 scriptEnabled initial=false, getter=isScriptEnabled, onChange=scriptEnabledChanged
330 pluginsEnabled initial=false, getter=arePluginsEnabled, onChange=pluginsEnabledChanged
331
332 usesPageCache initial=false, onChange=usesPageCacheChanged
333
334 dnsPrefetchingEnabled initial=false, onChange=dnsPrefetchingEnabledChanged
335
336 backgroundShouldExtendBeyondPage initial=false, onChange=backgroundShouldExtendBeyondPageChanged
337
338 scrollingPerformanceLoggingEnabled initial=false, onChange=scrollingPerformanceLoggingEnabledChanged
339
340 hiddenPageDOMTimerThrottlingEnabled initial=false, onChange=hiddenPageDOMTimerThrottlingStateChanged
341 hiddenPageDOMTimerThrottlingAutoIncreases initial=false, onChange=hiddenPageDOMTimerThrottlingStateChanged
342 hiddenPageCSSAnimationSuspensionEnabled initial=false, onChange=hiddenPageCSSAnimationSuspensionEnabledChanged
343
344 storageBlockingPolicy type=SecurityOrigin::StorageBlockingPolicy, initial=SecurityOrigin::AllowAllStorage, onChange=storageBlockingPolicyChanged
345
346 # Only set by Layout Tests.
347 mediaTypeOverride type=String, initial="screen", onChange=mediaTypeOverrideChanged
348
349
350 fontRenderingMode type=FontRenderingMode, initial=FontRenderingMode::Normal
351
352 preferMIMETypeForImages initial=false
353
354 forcePendingWebGLPolicy initial=false, getter=isForcePendingWebGLPolicy
355
356 mediaKeysStorageDirectory type=String, conditional=LEGACY_ENCRYPTED_MEDIA
357 mediaDeviceIdentifierStorageDirectory type=String, conditional=MEDIA_STREAM
358
359 # FIXME: This quirk is needed because of Radar 4674537 and 5211271. We need to phase it out once Adobe
360 # can fix the bug from their end.
361 needsAdobeFrameReloadingQuirk initial=false, getter=needsAcrobatFrameReloadingQuirk
362
363 touchEventEmulationEnabled initial=false, getter=isTouchEventEmulationEnabled, conditional=TOUCH_EVENTS