Add IDL for requestIdleCallback
[WebKit-https.git] / Source / WebCore / page / Settings.yaml
1 # FIXME: Add support for global settings.
2 # FIXME: Add support for custom getters/setters.
3
4 defaultTextEncodingName:
5   type: String
6 ftpDirectoryTemplatePath:
7   type: String
8 localStorageDatabasePath:
9   type: String
10 editableLinkBehavior:
11   type: EditableLinkBehavior
12   initial: EditableLinkDefaultBehavior
13 textDirectionSubmenuInclusionBehavior:
14   type: TextDirectionSubmenuInclusionBehavior
15   initial: TextDirectionSubmenuAutomaticallyIncluded
16 pdfImageCachingPolicy:
17   type: PDFImageCachingPolicy
18   initial: PDFImageCachingDefault
19 passwordEchoDurationInSeconds:
20   type: double
21   initial: 1
22
23 # Sets the magnification value for validation message timer.  If the
24 # magnification value is N, a validation message disappears automatically after
25 # <message length> * N / 1000 seconds.  If N is equal to or less than 0, a
26 # validation message doesn't disappears automaticaly.
27 validationMessageTimerMagnification:
28   type: int
29   initial: 50
30
31 # Number of pixels below which 2D canvas is rendered in software
32 # even if hardware acceleration is enabled.
33 # Hardware acceleration is useful for large canvases where it can avoid the
34 # pixel bandwidth between the CPU and GPU. But GPU acceleration comes at
35 # a price - extra back-buffer and texture copy. Small canvases are also
36 # widely used for stylized fonts. Anti-aliasing text in hardware at that
37 # scale is generally slower. So below a certain size it is better to
38 # draw canvas in software.
39 minimumAccelerated2dCanvasSize:
40   type: int
41   initial: 257*256
42
43 maximumAccelerated2dCanvasSize:
44   type: unsigned
45   initial: 5120*2880
46
47 layoutFallbackWidth:
48   type: int
49   initial: 980
50 deviceWidth:
51   type: int
52   initial: 0
53 deviceHeight:
54   type: int
55   initial: 0
56
57 # Allow clients concerned with memory consumption to set a quota on session storage
58 # since the memory used won't be released until the Page is destroyed.
59 sessionStorageQuota:
60   type: unsigned
61   initial: StorageMap::noQuota
62
63 minimumFontSize:
64   type: int
65   initial: 0
66   onChange: setNeedsRecalcStyleInAllFrames
67 minimumLogicalFontSize:
68   type: int
69   initial: 0
70   onChange: setNeedsRecalcStyleInAllFrames
71 defaultFontSize:
72   type: int
73   initial: 16
74   onChange: setNeedsRecalcStyleInAllFrames
75 defaultFixedFontSize:
76   type: int
77   initial: 13
78   onChange: setNeedsRecalcStyleInAllFrames
79
80 editingBehaviorType:
81   type: EditingBehaviorType
82   initial: editingBehaviorTypeForPlatform()
83 maximumHTMLParserDOMTreeDepth:
84   type: unsigned
85   initial: defaultMaximumHTMLParserDOMTreeDepth
86
87 # This setting only affects site icon image loading if loadsImagesAutomatically setting is false and this setting is true.
88 # All other permutations still heed loadsImagesAutomatically setting.
89 loadsSiteIconsIgnoringImageLoadingSetting:
90   initial: false
91
92 caretBrowsingEnabled:
93   initial: false
94 preventKeyboardDOMEventDispatch:
95   initial: false
96 localStorageEnabled:
97   initial: false
98 allowUniversalAccessFromFileURLs:
99   initial: true
100 allowFileAccessFromFileURLs:
101   initial: true
102 allowSettingAnyXHRHeaderFromFileURLs:
103   initial: false
104 allowCrossOriginSubresourcesToAskForCredentials:
105   initial: false
106 needsStorageAccessFromFileURLsQuirk:
107   initial: true
108 needsFrameNameFallbackToIdQuirk:
109   initial: false
110 useAnonymousModeWhenFetchingMaskImages:
111   initial: true
112 javaScriptCanOpenWindowsAutomatically:
113   initial: false
114 javaScriptCanAccessClipboard:
115   initial: false
116 shouldPrintBackgrounds:
117   initial: false
118 clipboardAccessPolicy:
119   type: ClipboardAccessPolicy
120   initial: ClipboardAccessPolicy::RequiresUserGesture
121
122 textAreasAreResizable:
123   initial: false
124   onChange: setNeedsRecalcStyleInAllFrames
125 authorAndUserStylesEnabled:
126   initial: true
127   onChange: setNeedsRecalcStyleInAllFrames
128   inspectorOverride: true
129 userStyleSheetLocation:
130   type: URL
131   onChange: userStyleSheetLocationChanged
132 acceleratedCompositingEnabled:
133   initial: true
134   onChange: setNeedsRecalcStyleInAllFrames
135 acceleratedCompositedAnimationsEnabled:
136   initial: true
137   onChange: setNeedsRecalcStyleInAllFrames
138 showDebugBorders:
139   initial: false
140   onChange: setNeedsRecalcStyleInAllFrames
141 showRepaintCounter:
142   initial: false
143   onChange: setNeedsRecalcStyleInAllFrames
144 visibleDebugOverlayRegions:
145   type: DebugOverlayRegions
146   initial: 0
147 showTiledScrollingIndicator:
148   initial: false
149 resourceUsageOverlayVisible:
150   initial: false
151   onChange: resourceUsageOverlayVisibleChanged
152   condition: RESOURCE_USAGE
153 disableScreenSizeOverride:
154   initial: false
155
156 googleAntiFlickerOptimizationQuirkEnabled:
157   initial: true
158
159 # This is a quirk we are pro-actively applying to old applications. It changes keyboard event dispatching,
160 # making keyIdentifier available on keypress events, making charCode available on keydown/keyup events,
161 # and getting keypress dispatched in more cases.
162 needsKeyboardEventDisambiguationQuirks:
163   initial: false
164
165 # This is an iOS-specific quirk. Unlike Mac, keyboard operations are asynchronous and hence a DOM update as
166 # a result of text insertion or deletion does not occur within the same event loop iteration as a dispatched
167 # DOM keydown event. Some sites, notably Google Sheets, schedule timers on keypress and expect on a DOM update
168 # to have occurred on expiration. When enabled, this quirk puts all such scheduled timers in a holding tank
169 # until the keyboard performs the insertion or deletion. This gives Google Sheets the illusion that the DOM
170 # update happened within the same event loop iteration that the keypress event was dispatched in.
171 needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommandQuirk:
172   initial: false
173
174 treatsAnyTextCSSLinkAsStylesheet:
175   initial: false
176 shrinksStandaloneImagesToFit:
177   initial: true
178 pageCacheSupportsPlugins:
179   initial: false
180 showsURLsInToolTips:
181   initial: false
182 showsToolTipOverTruncatedText:
183   initial: false
184 forceFTPDirectoryListings:
185   initial: false
186 developerExtrasEnabled:
187   initial: false
188 scriptMarkupEnabled:
189   initial: true
190 needsSiteSpecificQuirks:
191   initial: false
192   inspectorOverride: true
193 domTimersThrottlingEnabled:
194   initial: true
195 webArchiveDebugModeEnabled:
196   initial: false
197   conditional: WEB_ARCHIVE
198 localFileContentSniffingEnabled:
199   initial: false
200 offlineWebApplicationCacheEnabled:
201   initial: false
202 enforceCSSMIMETypeInNoQuirksMode:
203   initial: true
204 usesEncodingDetector:
205   initial: false
206 canvasUsesAcceleratedDrawing:
207   initial: false
208 acceleratedDrawingEnabled:
209   initial: false
210 displayListDrawingEnabled:
211   initial: false
212 acceleratedFiltersEnabled:
213   initial: false
214 useLegacyTextAlignPositionedElementBehavior:
215   initial: false
216 javaScriptRuntimeFlags:
217   type: JSC::RuntimeFlags
218
219 # FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
220 # they can't use by. Leaving enabled for now to not change existing behavior.
221 downloadableBinaryFontsEnabled:
222   initial: defaultDownloadableBinaryFontsEnabled()
223
224 xssAuditorEnabled:
225   initial: false
226 acceleratedCompositingForFixedPositionEnabled:
227   initial: defaultAcceleratedCompositingForFixedPositionEnabled
228 rubberBandingForSubScrollableRegionsEnabled:
229   initial: true
230   conditional: RUBBER_BANDING
231
232 experimentalNotificationsEnabled:
233   initial: false
234 webGLEnabled:
235   initial: false
236 webGLErrorsToConsoleEnabled:
237   initial: true
238 unhandledPromiseRejectionToConsoleEnabled:
239   initial: true
240 forceWebGLUsesLowPower:
241   initial: false
242 accelerated2dCanvasEnabled:
243   initial: false
244 loadDeferringEnabled:
245   initial: true
246 webAudioEnabled:
247   initial: false
248 paginateDuringLayoutEnabled:
249   initial: false
250 fullScreenEnabled:
251   initial: false
252   conditional: FULLSCREEN_API
253 asynchronousSpellCheckingEnabled:
254   initial: false
255
256 # This feature requires an implementation of ValidationMessageClient.
257 interactiveFormValidationEnabled:
258   initial: false
259
260 usePreHTML5ParserQuirks:
261   initial: false
262 hyperlinkAuditingEnabled:
263   initial: false
264 crossOriginCheckInGetMatchedCSSRulesDisabled:
265   initial: false
266 forceCompositingMode:
267   initial: false
268 shouldInjectUserScriptsInInitialEmptyDocument:
269   initial: false
270 fixedElementsLayoutRelativeToFrame:
271   initial: false
272 allowDisplayOfInsecureContent:
273   initial: false
274 allowRunningOfInsecureContent:
275   initial: false
276 requiresUserGestureToLoadVideo:
277   initial: defaultRequiresUserGestureToLoadVideo
278 videoPlaybackRequiresUserGesture:
279   initial: defaultVideoPlaybackRequiresUserGesture
280 audioPlaybackRequiresUserGesture:
281   initial: defaultAudioPlaybackRequiresUserGesture
282 mainContentUserGestureOverrideEnabled:
283   initial: false
284 mediaUserGestureInheritsFromDocument:
285   initial: false
286 allowsInlineMediaPlayback:
287   initial: defaultAllowsInlineMediaPlayback
288 allowsInlineMediaPlaybackAfterFullscreen:
289   initial: true
290 inlineMediaPlaybackRequiresPlaysInlineAttribute:
291   initial: defaultInlineMediaPlaybackRequiresPlaysInlineAttribute
292 allowsPictureInPictureMediaPlayback:
293   initial: defaultAllowsPictureInPictureMediaPlayback
294 mediaControlsScaleWithPageZoom:
295   initial: defaultMediaControlsScaleWithPageZoom
296 invisibleAutoplayNotPermitted:
297   initial: false
298 passwordEchoEnabled:
299   initial: false
300 suppressesIncrementalRendering:
301   initial: false
302 incrementalRenderingSuppressionTimeoutInSeconds:
303   type: double
304   initial: defaultIncrementalRenderingSuppressionTimeoutInSeconds
305 backspaceKeyNavigationEnabled:
306   initial: true
307 shouldDisplaySubtitles:
308   initial: false
309   conditional: VIDEO_TRACK
310 shouldDisplayCaptions:
311   initial: false
312   conditional: VIDEO_TRACK
313 shouldDisplayTextDescriptions:
314   initial: false
315   conditional: VIDEO_TRACK
316 scrollingCoordinatorEnabled:
317   initial: false
318 scrollingTreeIncludesFrames:
319   initial: defaultScrollingTreeIncludesFrames
320 scrollAnimatorEnabled:
321   initial: true
322   conditional: SMOOTH_SCROLLING
323 forceUpdateScrollbarsOnMainThreadForPerformanceTesting:
324   initial: false
325 notificationsEnabled:
326   initial: true
327
328 # Some apps needs isLoadingInAPISense to account for active subresource loaders.
329 needsIsLoadingInAPISenseQuirk:
330   initial: false
331
332 shouldRespectImageOrientation:
333   initial: defaultShouldRespectImageOrientation
334 imageSubsamplingEnabled:
335   initial: defaultImageSubsamplingEnabled
336 wantsBalancedSetDefersLoadingBehavior:
337   initial: false
338 requestAnimationFrameEnabled:
339   initial: true
340 requestIdleCallbackEnabled:
341   initial: false
342
343 HTTPSUpgradeEnabled:
344   initial: false
345
346 thirdPartyIframeRedirectBlockingEnabled:
347   initial: true
348
349 cookieEnabled:
350   initial: true
351 mediaEnabled:
352   initial: defaultMediaEnabled
353 DOMPasteAllowed:
354   initial: false
355
356 domPasteAccessRequestsEnabled:
357   initial: false
358
359 # When enabled, window.blur() does not change focus, and
360 # window.focus() only changes focus when invoked from the context that
361 # created the window.
362 windowFocusRestricted:
363   initial: true
364
365 diagnosticLoggingEnabled:
366   initial: false
367
368 delegatesPageScaling:
369   initial: false
370
371 plugInSnapshottingEnabled:
372   initial: false
373
374 snapshotAllPlugIns:
375   initial: false
376
377 autostartOriginPlugInSnapshottingEnabled:
378   initial: true
379
380 primaryPlugInSnapshotDetectionEnabled:
381   initial: true
382
383 maximumPlugInSnapshotAttempts:
384   type: unsigned
385   initial: 20
386
387 frameFlattening:
388   type: FrameFlattening
389   initial: FrameFlattening::Disabled
390   onChange: setNeedsRelayoutAllFrames
391
392 asyncFrameScrollingEnabled:
393   initial: false
394   onChange: setNeedsRelayoutAllFrames
395
396 asyncOverflowScrollingEnabled:
397   initial: false
398   onChange: setNeedsRelayoutAllFrames
399
400 legacyOverflowScrollingTouchEnabled:
401   initial: true
402   onChange: setNeedsRelayoutAllFrames
403   conditional: OVERFLOW_SCROLLING_TOUCH
404
405 webSecurityEnabled:
406   initial: true
407   inspectorOverride: true
408 spatialNavigationEnabled:
409   initial: false
410
411 autoscrollForDragAndDropEnabled:
412   initial: false
413
414 unifiedTextCheckerEnabled:
415   initial: defaultUnifiedTextCheckerEnabled
416
417 logsPageMessagesToSystemConsoleEnabled:
418   initial: false
419
420 backForwardCacheExpirationInterval:
421   type: double
422   initial: 1800
423
424 # Some apps could have a default video poster if it is not set.
425 defaultVideoPosterURL:
426   type: String
427
428 smartInsertDeleteEnabled:
429   initial: defaultSmartInsertDeleteEnabled
430 selectTrailingWhitespaceEnabled:
431   initial: defaultSelectTrailingWhitespaceEnabled
432 selectionAcrossShadowBoundariesEnabled:
433   initial: true
434
435 useLegacyBackgroundSizeShorthandBehavior:
436   initial: false
437 fixedBackgroundsPaintRelativeToDocument:
438   initial: defaultFixedBackgroundsPaintRelativeToDocument
439
440 textAutosizingEnabled:
441   initial: defaultTextAutosizingEnabled()
442   onChange: setNeedsRecalcStyleInAllFrames
443   conditional: TEXT_AUTOSIZING
444 textAutosizingWindowSizeOverride:
445   type: IntSize
446   onChange: setNeedsRecalcStyleInAllFrames
447   conditional: TEXT_AUTOSIZING
448 minimumZoomFontSize:
449   type: float
450   initial: defaultMinimumZoomFontSize()
451   conditional: TEXT_AUTOSIZING
452 textAutosizingUsesIdempotentMode:
453   initial: false
454   onChange: setNeedsRecalcStyleInAllFrames
455   conditional: TEXT_AUTOSIZING
456
457 subpixelAntialiasedLayerTextEnabled:
458   initial: false
459   onChange: setNeedsRecalcStyleInAllFrames
460 simpleLineLayoutEnabled:
461   initial: true
462   onChange: setNeedsRecalcStyleInAllFrames
463 simpleLineLayoutDebugBordersEnabled:
464   initial: false
465   onChange: setNeedsRecalcStyleInAllFrames
466
467 contentChangeObserverEnabled:
468   initial: defaultContentChangeObserverEnabled()
469
470 subpixelCSSOMElementMetricsEnabled:
471   initial: false
472
473 useGiantTiles:
474   initial: false
475
476 mediaSourceEnabled:
477   initial: platformDefaultMediaSourceEnabled()
478   conditional: MEDIA_SOURCE
479
480 sourceBufferChangeTypeEnabled:
481   initial: true
482   conditional: MEDIA_SOURCE
483
484 # FIXME: Rename to allowMultiElementImplicitFormSubmission once we upstream the iOS changes to WebView.mm.
485 allowMultiElementImplicitSubmission:
486   initial: false
487
488 allowsAirPlayForMediaPlayback:
489   initial: true
490   conditional: WIRELESS_PLAYBACK_TARGET
491
492 shouldConvertPositionStyleOnCopy:
493   initial: false
494
495 maxParseDuration:
496   type: double
497   initial: -1
498 standalone:
499   initial: false
500 telephoneNumberParsingEnabled:
501   initial: false
502 mediaDataLoadsAutomatically:
503   initial: defaultMediaDataLoadsAutomatically
504 alwaysUseAcceleratedOverflowScroll:
505   initial: false
506 imageControlsEnabled:
507   initial: false
508   conditional: SERVICE_CONTROLS
509
510 enableInheritURIQueryComponent:
511   initial: false
512
513 aggressiveTileRetentionEnabled:
514   initial: false
515 temporaryTileCohortRetentionEnabled:
516   initial: true
517
518 useImageDocumentForSubframePDF:
519   initial: false
520 dataDetectorTypes:
521   type: DataDetectorTypes
522   initial: DataDetectorTypeNone
523   conditional: DATA_DETECTION
524
525 # Allow SourceBuffers to store up to 304MB each, enough for approximately five minutes
526 # of 1080p video and stereo audio.
527 maximumSourceBufferSize:
528   type: int
529   initial: 318767104
530   conditional: MEDIA_SOURCE
531
532 serviceControlsEnabled:
533   initial: false
534   conditional: SERVICE_CONTROLS
535
536 appleMailPaginationQuirkEnabled:
537   initial: false
538
539 deferredCSSParserEnabled:
540   initial: false
541
542 repaintOutsideLayoutEnabled:
543   initial: false
544
545 httpEquivEnabled:
546   initial: true
547
548 # Some ports (e.g. iOS) might choose to display attachments inline, regardless of whether the response includes the
549 # HTTP header "Content-Disposition: attachment". This setting enables a sandbox around these attachments. The sandbox
550 # enforces all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also disables <meta http-equiv>
551 # processing and subframe loading.
552 contentDispositionAttachmentSandboxEnabled:
553   initial: false
554
555 userInterfaceDirectionPolicy:
556   type: UserInterfaceDirectionPolicy
557   initial: UserInterfaceDirectionPolicy::Content
558 systemLayoutDirection:
559   type: TextDirection
560   initial: TextDirection::LTR
561
562 allowContentSecurityPolicySourceStarToMatchAnyProtocol:
563   initial: false
564
565 selectionPaintingWithoutSelectionGapsEnabled:
566   initial: false
567
568 shouldConvertInvalidURLsToBlank:
569   initial: true
570
571 springTimingFunctionEnabled:
572   initial: false
573
574 colorFilterEnabled:
575   initial: false
576   onChange: setNeedsRecalcStyleInAllFrames
577
578 punchOutWhiteBackgroundsInDarkMode:
579   initial: false
580   onChange: setNeedsRecalcStyleInAllFrames
581
582 treatIPAddressAsDomain:
583   initial: false
584
585 mediaPreloadingEnabled:
586   initial: false
587
588 layoutViewportHeightExpansionFactor:
589   type: double
590   initial: 0
591   onChange: setNeedsRecalcStyleInAllFrames
592
593 # Runtime-enabled features
594 visualViewportEnabled:
595   initial: true
596   onChange: setNeedsRecalcStyleInAllFrames
597
598 visualViewportAPIEnabled:
599   initial: false
600
601 syntheticEditingCommandsEnabled:
602   initial: true
603
604 CSSOMViewScrollingAPIEnabled:
605   initial: false
606
607 inputEventsEnabled:
608   initial: true
609
610 quickTimePluginReplacementEnabled:
611   initial: defaultQuickTimePluginReplacementEnabled
612 youTubeFlashPluginReplacementEnabled:
613   initial: defaultYouTubeFlashPluginReplacementEnabled
614
615 forcedColorsAreInvertedAccessibilityValue:
616   type: ForcedAccessibilityValue
617   initial: defaultForcedColorsAreInvertedAccessibilityValue
618 forcedDisplayIsMonochromeAccessibilityValue:
619   type: ForcedAccessibilityValue
620   initial: defaultForcedDisplayIsMonochromeAccessibilityValue
621 forcedPrefersReducedMotionAccessibilityValue:
622   type: ForcedAccessibilityValue
623   initial: defaultForcedPrefersReducedMotionAccessibilityValue
624
625 largeImageAsyncDecodingEnabled:
626   initial: true
627 animatedImageAsyncDecodingEnabled:
628   initial: true
629 webkitImageReadyEventEnabled:
630   initial: false
631
632 shouldSuppressTextInputFromEditingDuringProvisionalNavigation:
633   initial: false
634
635 langAttributeAwareFormControlUIEnabled:
636   initial: false
637
638 subresourceIntegrityEnabled:
639   initial: true
640
641 linkPreconnectEnabled:
642   initial: false
643
644 beaconAPIEnabled:
645   initial: false
646
647 geolocationFloorLevelEnabled:
648   initial: true
649
650 constantPropertiesEnabled:
651   initial: false
652
653 viewportFitEnabled:
654   initial: false
655
656 allowMediaContentTypesRequiringHardwareSupportAsFallback:
657   initial: false
658
659 storageAccessAPIEnabled:
660   initial: true
661
662 timeWithoutMouseMovementBeforeHidingControls:
663   type: Seconds
664   initial: 3_s
665
666 fontFallbackPrefersPictographs:
667   initial: false
668   onChange: setNeedsRecalcStyleInAllFrames
669
670 fontLoadTimingOverride:
671   type: FontLoadTimingOverride
672   initial: FontLoadTimingOverride::None
673 shouldIgnoreFontLoadCompletions:
674   initial: false
675
676 applePayCapabilityDisclosureAllowed:
677   conditional: APPLE_PAY
678   initial: true
679 applePayEnabled:
680   conditional: APPLE_PAY
681   initial: defaultApplePayEnabled
682 applePayRemoteUIEnabled:
683   conditional: APPLE_PAY_REMOTE_UI
684   initial: true
685 paymentRequestEnabled:
686   conditional: PAYMENT_REQUEST
687   initial: false
688
689 javaEnabled:
690   initial: false
691   getter: isJavaEnabled
692 javaEnabledForLocalFiles:
693   initial: true
694   getter: isJavaEnabledForLocalFiles
695
696 # Unlike the imagesEnabled setting, this only suppresses the network load of
697 # the image URL. A cached image will still be rendered if requested.
698 loadsImagesAutomatically:
699   initial: false
700   onChange: imagesEnabledChanged
701 imagesEnabled:
702   initial: true
703   getter: areImagesEnabled
704   onChange: imagesEnabledChanged
705   inspectorOverride: true
706 scriptEnabled:
707   initial: false
708   getter: isScriptEnabled
709   inspectorOverride: true
710 pluginsEnabled:
711   initial: false
712   getter: arePluginsEnabled
713   onChange: pluginsEnabledChanged
714
715 usesPageCache:
716   initial: false
717   onChange: usesPageCacheChanged
718
719 dnsPrefetchingEnabled:
720   initial: false
721   onChange: dnsPrefetchingEnabledChanged
722
723 backgroundShouldExtendBeyondPage:
724   initial: false
725   onChange: backgroundShouldExtendBeyondPageChanged
726
727 scrollingPerformanceLoggingEnabled:
728   initial: false
729   onChange: scrollingPerformanceLoggingEnabledChanged
730
731 hiddenPageDOMTimerThrottlingEnabled:
732   initial: false
733   onChange: hiddenPageDOMTimerThrottlingStateChanged
734 hiddenPageDOMTimerThrottlingAutoIncreases:
735   initial: false
736   onChange: hiddenPageDOMTimerThrottlingStateChanged
737 hiddenPageCSSAnimationSuspensionEnabled:
738   initial: false
739   onChange: hiddenPageCSSAnimationSuspensionEnabledChanged
740
741 storageBlockingPolicy:
742   type: SecurityOrigin::StorageBlockingPolicy
743   initial: SecurityOrigin::AllowAllStorage
744   onChange: storageBlockingPolicyChanged
745
746 shouldAllowUserInstalledFonts:
747   initial: true
748   onChange: setNeedsRecalcStyleInAllFrames
749
750 shouldAllowDesignSystemUIFonts:
751   initial: false
752   onChange: setNeedsRecalcStyleInAllFrames
753
754 resizeObserverEnabled:
755   initial: false
756   conditional: RESIZE_OBSERVER
757
758 # Only set by Layout Tests.
759 mediaTypeOverride:
760   type: String
761   initial: '"screen"'
762   onChange: mediaTypeOverrideChanged
763
764 animatedImageDebugCanvasDrawingEnabled:
765   initial: false
766
767 fontRenderingMode:
768   type: FontRenderingMode
769   initial: FontRenderingMode::Normal
770
771 preferMIMETypeForImages:
772   initial: false
773
774 forcePendingWebGLPolicy:
775   initial: false
776   getter: isForcePendingWebGLPolicy
777
778 mediaKeysStorageDirectory:
779   type: String
780
781 mediaDeviceIdentifierStorageDirectory:
782   type: String
783   conditional: MEDIA_STREAM
784
785 # FIXME: This quirk is needed because of Radar 4674537 and 5211271. We need to phase it out once Adobe
786 # can fix the bug from their end.
787 needsAdobeFrameReloadingQuirk:
788   initial: false
789   getter: needsAcrobatFrameReloadingQuirk
790
791 passiveTouchListenersAsDefaultOnDocument:
792   initial: true
793
794 touchEventEmulationEnabled:
795   initial: false
796   getter: isTouchEventEmulationEnabled
797   conditional: TOUCH_EVENTS
798
799 deviceOrientationEventEnabled:
800   type: bool
801   initial: true
802   conditional: DEVICE_ORIENTATION
803
804 deviceOrientationPermissionAPIEnabled:
805   type: bool
806   initial: false
807   conditional: DEVICE_ORIENTATION
808
809 shouldEnableTextAutosizingBoost:
810   type: bool
811   initial: false
812   conditional: TEXT_AUTOSIZING
813   onChange: shouldEnableTextAutosizingBoostChanged
814
815 mediaCapabilitiesEnabled:
816   initial: false
817
818 mediaCapabilitiesExtensionsEnabled:
819   type: bool
820   initial: false
821
822 clientCoordinatesRelativeToLayoutViewport:
823   initial: false
824   onChange: setNeedsRecalcStyleInAllFrames
825
826 incompleteImageBorderEnabled:
827   initial: false
828
829 shouldDeferAsynchronousScriptsUntilAfterDocumentLoad:
830   initial: false
831
832 shouldIgnoreMetaViewport:
833   initial: false
834
835 videoQualityIncludesDisplayCompositingEnabled:
836   initial: false
837   conditional: VIDEO
838
839 editableImagesEnabled:
840   initial: false
841
842 adClickAttributionEnabled:
843   initial: false
844
845 coreMathMLEnabled:
846   initial: false
847   onChange: setNeedsRecalcStyleInAllFrames
848
849 blockingOfSmallPluginsEnabled:
850   initial: true
851
852 shouldDecidePolicyBeforeLoadingQuickLookPreview:
853   initial: false
854
855 shouldDispatchSyntheticMouseEventsWhenModifyingSelection:
856   initial: false
857
858 shouldDispatchSyntheticMouseOutAfterSyntheticClick:
859   initial: false
860
861 allowViewportShrinkToFitContent:
862   initial: true
863
864 webRTCEncryptionEnabled:
865   initial: true
866   inspectorOverride: true
867
868 isITPSessionSwitchingEnabled:
869   initial: true
870
871 # Deprecated
872
873 iceCandidateFilteringEnabled:
874   initial: true
875   onChange: iceCandidateFilteringEnabledChanged
876   inspectorOverride: true
877
878 mockCaptureDevicesEnabled:
879   initial: false
880   conditional: MEDIA_STREAM
881   onChange: mockCaptureDevicesEnabledChanged
882   inspectorOverride: true
883
884 mediaCaptureRequiresSecureConnection:
885   initial: true
886   conditional: MEDIA_STREAM
887   inspectorOverride: true