Add support for Device Orientation / Motion permission API
[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 usesDashboardBackwardCompatibilityMode:
119   initial: false
120   conditional: DASHBOARD_SUPPORT
121 clipboardAccessPolicy:
122   type: ClipboardAccessPolicy
123   initial: ClipboardAccessPolicy::RequiresUserGesture
124
125 textAreasAreResizable:
126   initial: false
127   onChange: setNeedsRecalcStyleInAllFrames
128 authorAndUserStylesEnabled:
129   initial: true
130   onChange: setNeedsRecalcStyleInAllFrames
131   inspectorOverride: true
132 userStyleSheetLocation:
133   type: URL
134   onChange: userStyleSheetLocationChanged
135 acceleratedCompositingEnabled:
136   initial: true
137   onChange: setNeedsRecalcStyleInAllFrames
138 acceleratedCompositedAnimationsEnabled:
139   initial: true
140   onChange: setNeedsRecalcStyleInAllFrames
141 showDebugBorders:
142   initial: false
143   onChange: setNeedsRecalcStyleInAllFrames
144 showRepaintCounter:
145   initial: false
146   onChange: setNeedsRecalcStyleInAllFrames
147 visibleDebugOverlayRegions:
148   type: DebugOverlayRegions
149   initial: 0
150 showTiledScrollingIndicator:
151   initial: false
152 resourceUsageOverlayVisible:
153   initial: false
154   onChange: resourceUsageOverlayVisibleChanged
155   condition: RESOURCE_USAGE
156 disableScreenSizeOverride:
157   initial: false
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 treatsAnyTextCSSLinkAsStylesheet:
166   initial: false
167 shrinksStandaloneImagesToFit:
168   initial: true
169 pageCacheSupportsPlugins:
170   initial: false
171 showsURLsInToolTips:
172   initial: false
173 showsToolTipOverTruncatedText:
174   initial: false
175 forceFTPDirectoryListings:
176   initial: false
177 developerExtrasEnabled:
178   initial: false
179 scriptMarkupEnabled:
180   initial: true
181 needsSiteSpecificQuirks:
182   initial: false
183   inspectorOverride: true
184 domTimersThrottlingEnabled:
185   initial: true
186 webArchiveDebugModeEnabled:
187   initial: false
188   conditional: WEB_ARCHIVE
189 localFileContentSniffingEnabled:
190   initial: false
191 offlineWebApplicationCacheEnabled:
192   initial: false
193 enforceCSSMIMETypeInNoQuirksMode:
194   initial: true
195 usesEncodingDetector:
196   initial: false
197 canvasUsesAcceleratedDrawing:
198   initial: false
199 acceleratedDrawingEnabled:
200   initial: false
201 displayListDrawingEnabled:
202   initial: false
203 acceleratedFiltersEnabled:
204   initial: false
205 useLegacyTextAlignPositionedElementBehavior:
206   initial: false
207 javaScriptRuntimeFlags:
208   type: JSC::RuntimeFlags
209
210 # FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
211 # they can't use by. Leaving enabled for now to not change existing behavior.
212 downloadableBinaryFontsEnabled:
213   initial: defaultDownloadableBinaryFontsEnabled()
214
215 xssAuditorEnabled:
216   initial: false
217 acceleratedCompositingForFixedPositionEnabled:
218   initial: defaultAcceleratedCompositingForFixedPositionEnabled
219 rubberBandingForSubScrollableRegionsEnabled:
220   initial: true
221   conditional: RUBBER_BANDING
222
223 experimentalNotificationsEnabled:
224   initial: false
225 webGLEnabled:
226   initial: false
227 webGLErrorsToConsoleEnabled:
228   initial: true
229 unhandledPromiseRejectionToConsoleEnabled:
230   initial: true
231 forceSoftwareWebGLRendering:
232   initial: false
233 forceWebGLUsesLowPower:
234   initial: false
235 accelerated2dCanvasEnabled:
236   initial: false
237 loadDeferringEnabled:
238   initial: true
239 webAudioEnabled:
240   initial: false
241 paginateDuringLayoutEnabled:
242   initial: false
243 fullScreenEnabled:
244   initial: false
245   conditional: FULLSCREEN_API
246 asynchronousSpellCheckingEnabled:
247   initial: false
248
249 # This feature requires an implementation of ValidationMessageClient.
250 interactiveFormValidationEnabled:
251   initial: false
252
253 usePreHTML5ParserQuirks:
254   initial: false
255 hyperlinkAuditingEnabled:
256   initial: false
257 crossOriginCheckInGetMatchedCSSRulesDisabled:
258   initial: false
259 forceCompositingMode:
260   initial: false
261 shouldInjectUserScriptsInInitialEmptyDocument:
262   initial: false
263 fixedElementsLayoutRelativeToFrame:
264   initial: false
265 allowDisplayOfInsecureContent:
266   initial: false
267 allowRunningOfInsecureContent:
268   initial: false
269 requiresUserGestureToLoadVideo:
270   initial: defaultRequiresUserGestureToLoadVideo
271 videoPlaybackRequiresUserGesture:
272   initial: defaultVideoPlaybackRequiresUserGesture
273 audioPlaybackRequiresUserGesture:
274   initial: defaultAudioPlaybackRequiresUserGesture
275 mainContentUserGestureOverrideEnabled:
276   initial: false
277 mediaUserGestureInheritsFromDocument:
278   initial: false
279 allowsInlineMediaPlayback:
280   initial: defaultAllowsInlineMediaPlayback
281 allowsInlineMediaPlaybackAfterFullscreen:
282   initial: true
283 inlineMediaPlaybackRequiresPlaysInlineAttribute:
284   initial: defaultInlineMediaPlaybackRequiresPlaysInlineAttribute
285 allowsPictureInPictureMediaPlayback:
286   initial: defaultAllowsPictureInPictureMediaPlayback
287 mediaControlsScaleWithPageZoom:
288   initial: defaultMediaControlsScaleWithPageZoom
289 invisibleAutoplayNotPermitted:
290   initial: false
291 passwordEchoEnabled:
292   initial: false
293 suppressesIncrementalRendering:
294   initial: false
295 incrementalRenderingSuppressionTimeoutInSeconds:
296   type: double
297   initial: defaultIncrementalRenderingSuppressionTimeoutInSeconds
298 backspaceKeyNavigationEnabled:
299   initial: true
300 shouldDisplaySubtitles:
301   initial: false
302   conditional: VIDEO_TRACK
303 shouldDisplayCaptions:
304   initial: false
305   conditional: VIDEO_TRACK
306 shouldDisplayTextDescriptions:
307   initial: false
308   conditional: VIDEO_TRACK
309 scrollingCoordinatorEnabled:
310   initial: false
311 scrollingTreeIncludesFrames:
312   initial: defaultScrollingTreeIncludesFrames
313 scrollAnimatorEnabled:
314   initial: true
315   conditional: SMOOTH_SCROLLING
316 forceUpdateScrollbarsOnMainThreadForPerformanceTesting:
317   initial: false
318 notificationsEnabled:
319   initial: true
320
321 # Some apps needs isLoadingInAPISense to account for active subresource loaders.
322 needsIsLoadingInAPISenseQuirk:
323   initial: false
324
325 shouldRespectImageOrientation:
326   initial: defaultShouldRespectImageOrientation
327 imageSubsamplingEnabled:
328   initial: defaultImageSubsamplingEnabled
329 wantsBalancedSetDefersLoadingBehavior:
330   initial: false
331 requestAnimationFrameEnabled:
332   initial: true
333
334 HTTPSUpgradeEnabled:
335   initial: false
336
337 thirdPartyIframeRedirectBlockingEnabled:
338   initial: true
339
340 cookieEnabled:
341   initial: true
342 mediaEnabled:
343   initial: defaultMediaEnabled
344 DOMPasteAllowed:
345   initial: false
346
347 domPasteAccessRequestsEnabled:
348   initial: false
349
350 # When enabled, window.blur() does not change focus, and
351 # window.focus() only changes focus when invoked from the context that
352 # created the window.
353 windowFocusRestricted:
354   initial: true
355
356 diagnosticLoggingEnabled:
357   initial: false
358
359 delegatesPageScaling:
360   initial: false
361
362 plugInSnapshottingEnabled:
363   initial: false
364
365 snapshotAllPlugIns:
366   initial: false
367
368 autostartOriginPlugInSnapshottingEnabled:
369   initial: true
370
371 primaryPlugInSnapshotDetectionEnabled:
372   initial: true
373
374 maximumPlugInSnapshotAttempts:
375   type: unsigned
376   initial: 20
377
378 frameFlattening:
379   type: FrameFlattening
380   initial: FrameFlattening::Disabled
381   onChange: setNeedsRelayoutAllFrames
382
383 asyncFrameScrollingEnabled:
384   initial: false
385   onChange: setNeedsRelayoutAllFrames
386
387 asyncOverflowScrollingEnabled:
388   initial: false
389   onChange: setNeedsRelayoutAllFrames
390
391 webSecurityEnabled:
392   initial: true
393   inspectorOverride: true
394 spatialNavigationEnabled:
395   initial: false
396
397 autoscrollForDragAndDropEnabled:
398   initial: false
399
400 unifiedTextCheckerEnabled:
401   initial: defaultUnifiedTextCheckerEnabled
402
403 logsPageMessagesToSystemConsoleEnabled:
404   initial: false
405
406 backForwardCacheExpirationInterval:
407   type: double
408   initial: 1800
409
410 # Some apps could have a default video poster if it is not set.
411 defaultVideoPosterURL:
412   type: String
413
414 smartInsertDeleteEnabled:
415   initial: defaultSmartInsertDeleteEnabled
416 selectTrailingWhitespaceEnabled:
417   initial: defaultSelectTrailingWhitespaceEnabled
418 selectionAcrossShadowBoundariesEnabled:
419   initial: true
420
421 useLegacyBackgroundSizeShorthandBehavior:
422   initial: false
423 fixedBackgroundsPaintRelativeToDocument:
424   initial: defaultFixedBackgroundsPaintRelativeToDocument
425
426 textAutosizingEnabled:
427   initial: defaultTextAutosizingEnabled()
428   onChange: setNeedsRecalcStyleInAllFrames
429   conditional: TEXT_AUTOSIZING
430 textAutosizingWindowSizeOverride:
431   type: IntSize
432   onChange: setNeedsRecalcStyleInAllFrames
433   conditional: TEXT_AUTOSIZING
434 minimumZoomFontSize:
435   type: float
436   initial: defaultMinimumZoomFontSize()
437   conditional: TEXT_AUTOSIZING
438
439 subpixelAntialiasedLayerTextEnabled:
440   initial: false
441   onChange: setNeedsRecalcStyleInAllFrames
442 simpleLineLayoutEnabled:
443   initial: true
444   onChange: setNeedsRecalcStyleInAllFrames
445 simpleLineLayoutDebugBordersEnabled:
446   initial: false
447   onChange: setNeedsRecalcStyleInAllFrames
448
449 contentChangeObserverEnabled:
450   initial: defaultContentChangeObserverEnabled()
451
452 subpixelCSSOMElementMetricsEnabled:
453   initial: false
454
455 useGiantTiles:
456   initial: false
457
458 mediaSourceEnabled:
459   initial: platformDefaultMediaSourceEnabled()
460   conditional: MEDIA_SOURCE
461
462 sourceBufferChangeTypeEnabled:
463   initial: true
464   conditional: MEDIA_SOURCE
465
466 # FIXME: Rename to allowMultiElementImplicitFormSubmission once we upstream the iOS changes to WebView.mm.
467 allowMultiElementImplicitSubmission:
468   initial: false
469
470 allowsAirPlayForMediaPlayback:
471   initial: true
472   conditional: WIRELESS_PLAYBACK_TARGET
473
474 shouldConvertPositionStyleOnCopy:
475   initial: false
476
477 maxParseDuration:
478   type: double
479   initial: -1
480 standalone:
481   initial: false
482 telephoneNumberParsingEnabled:
483   initial: false
484 mediaDataLoadsAutomatically:
485   initial: defaultMediaDataLoadsAutomatically
486 alwaysUseAcceleratedOverflowScroll:
487   initial: false
488 imageControlsEnabled:
489   initial: false
490   conditional: SERVICE_CONTROLS
491
492 enableInheritURIQueryComponent:
493   initial: false
494
495 aggressiveTileRetentionEnabled:
496   initial: false
497 temporaryTileCohortRetentionEnabled:
498   initial: true
499
500 useImageDocumentForSubframePDF:
501   initial: false
502 dataDetectorTypes:
503   type: DataDetectorTypes
504   initial: DataDetectorTypeNone
505   conditional: DATA_DETECTION
506
507 # Allow SourceBuffers to store up to 304MB each, enough for approximately five minutes
508 # of 1080p video and stereo audio.
509 maximumSourceBufferSize:
510   type: int
511   initial: 318767104
512   conditional: MEDIA_SOURCE
513
514 serviceControlsEnabled:
515   initial: false
516   conditional: SERVICE_CONTROLS
517
518 appleMailPaginationQuirkEnabled:
519   initial: false
520
521 deferredCSSParserEnabled:
522   initial: false
523
524 repaintOutsideLayoutEnabled:
525   initial: false
526
527 httpEquivEnabled:
528   initial: true
529
530 # Some ports (e.g. iOS) might choose to display attachments inline, regardless of whether the response includes the
531 # HTTP header "Content-Disposition: attachment". This setting enables a sandbox around these attachments. The sandbox
532 # enforces all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also disables <meta http-equiv>
533 # processing and subframe loading.
534 contentDispositionAttachmentSandboxEnabled:
535   initial: false
536
537 userInterfaceDirectionPolicy:
538   type: UserInterfaceDirectionPolicy
539   initial: UserInterfaceDirectionPolicy::Content
540 systemLayoutDirection:
541   type: TextDirection
542   initial: TextDirection::LTR
543
544 allowContentSecurityPolicySourceStarToMatchAnyProtocol:
545   initial: false
546
547 selectionPaintingWithoutSelectionGapsEnabled:
548   initial: false
549
550 shouldConvertInvalidURLsToBlank:
551   initial: true
552
553 springTimingFunctionEnabled:
554   initial: false
555
556 colorFilterEnabled:
557   initial: false
558   onChange: setNeedsRecalcStyleInAllFrames
559
560 punchOutWhiteBackgroundsInDarkMode:
561   initial: false
562   onChange: setNeedsRecalcStyleInAllFrames
563
564 treatIPAddressAsDomain:
565   initial: false
566
567 mediaPreloadingEnabled:
568   initial: false
569
570 layoutViewportHeightExpansionFactor:
571   type: double
572   initial: 0
573   onChange: setNeedsRecalcStyleInAllFrames
574
575 # Runtime-enabled features
576 visualViewportEnabled:
577   initial: true
578   onChange: setNeedsRecalcStyleInAllFrames
579
580 visualViewportAPIEnabled:
581   initial: false
582
583 CSSOMViewScrollingAPIEnabled:
584   initial: false
585
586 inputEventsEnabled:
587   initial: true
588
589 quickTimePluginReplacementEnabled:
590   initial: defaultQuickTimePluginReplacementEnabled
591 youTubeFlashPluginReplacementEnabled:
592   initial: defaultYouTubeFlashPluginReplacementEnabled
593
594 forcedColorsAreInvertedAccessibilityValue:
595   type: ForcedAccessibilityValue
596   initial: defaultForcedColorsAreInvertedAccessibilityValue
597 forcedDisplayIsMonochromeAccessibilityValue:
598   type: ForcedAccessibilityValue
599   initial: defaultForcedDisplayIsMonochromeAccessibilityValue
600 forcedPrefersReducedMotionAccessibilityValue:
601   type: ForcedAccessibilityValue
602   initial: defaultForcedPrefersReducedMotionAccessibilityValue
603
604 largeImageAsyncDecodingEnabled:
605   initial: true
606 animatedImageAsyncDecodingEnabled:
607   initial: true
608 webkitImageReadyEventEnabled:
609   initial: false
610
611 shouldSuppressTextInputFromEditingDuringProvisionalNavigation:
612   initial: false
613
614 langAttributeAwareFormControlUIEnabled:
615   initial: false
616
617 subresourceIntegrityEnabled:
618   initial: true
619
620 linkPreconnectEnabled:
621   initial: false
622
623 beaconAPIEnabled:
624   initial: false
625
626 geolocationFloorLevelEnabled:
627   initial: true
628
629 constantPropertiesEnabled:
630   initial: false
631
632 viewportFitEnabled:
633   initial: false
634
635 allowMediaContentTypesRequiringHardwareSupportAsFallback:
636   initial: false
637
638 storageAccessAPIEnabled:
639   initial: true
640
641 timeWithoutMouseMovementBeforeHidingControls:
642   type: Seconds
643   initial: 3_s
644
645 fontFallbackPrefersPictographs:
646   initial: false
647   onChange: setNeedsRecalcStyleInAllFrames
648
649 fontLoadTimingOverride:
650   type: FontLoadTimingOverride
651   initial: FontLoadTimingOverride::None
652 shouldIgnoreFontLoadCompletions:
653   initial: false
654
655 paymentRequestEnabled:
656   initial: false
657   conditional: PAYMENT_REQUEST
658 applePayEnabled:
659   initial: false
660   conditional: APPLE_PAY
661 applePayCapabilityDisclosureAllowed:
662   initial: true
663   conditional: APPLE_PAY
664
665 javaEnabled:
666   initial: false
667   getter: isJavaEnabled
668 javaEnabledForLocalFiles:
669   initial: true
670   getter: isJavaEnabledForLocalFiles
671
672 # Unlike the imagesEnabled setting, this only suppresses the network load of
673 # the image URL. A cached image will still be rendered if requested.
674 loadsImagesAutomatically:
675   initial: false
676   onChange: imagesEnabledChanged
677 imagesEnabled:
678   initial: true
679   getter: areImagesEnabled
680   onChange: imagesEnabledChanged
681   inspectorOverride: true
682 scriptEnabled:
683   initial: false
684   getter: isScriptEnabled
685   inspectorOverride: true
686 pluginsEnabled:
687   initial: false
688   getter: arePluginsEnabled
689   onChange: pluginsEnabledChanged
690
691 usesPageCache:
692   initial: false
693   onChange: usesPageCacheChanged
694
695 dnsPrefetchingEnabled:
696   initial: false
697   onChange: dnsPrefetchingEnabledChanged
698
699 backgroundShouldExtendBeyondPage:
700   initial: false
701   onChange: backgroundShouldExtendBeyondPageChanged
702
703 scrollingPerformanceLoggingEnabled:
704   initial: false
705   onChange: scrollingPerformanceLoggingEnabledChanged
706
707 hiddenPageDOMTimerThrottlingEnabled:
708   initial: false
709   onChange: hiddenPageDOMTimerThrottlingStateChanged
710 hiddenPageDOMTimerThrottlingAutoIncreases:
711   initial: false
712   onChange: hiddenPageDOMTimerThrottlingStateChanged
713 hiddenPageCSSAnimationSuspensionEnabled:
714   initial: false
715   onChange: hiddenPageCSSAnimationSuspensionEnabledChanged
716
717 storageBlockingPolicy:
718   type: SecurityOrigin::StorageBlockingPolicy
719   initial: SecurityOrigin::AllowAllStorage
720   onChange: storageBlockingPolicyChanged
721
722 shouldAllowUserInstalledFonts:
723   initial: true
724   onChange: setNeedsRecalcStyleInAllFrames
725
726 # Only set by Layout Tests.
727 mediaTypeOverride:
728   type: String
729   initial: '"screen"'
730   onChange: mediaTypeOverrideChanged
731
732
733 fontRenderingMode:
734   type: FontRenderingMode
735   initial: FontRenderingMode::Normal
736
737 preferMIMETypeForImages:
738   initial: false
739
740 forcePendingWebGLPolicy:
741   initial: false
742   getter: isForcePendingWebGLPolicy
743
744 mediaKeysStorageDirectory:
745   type: String
746
747 mediaDeviceIdentifierStorageDirectory:
748   type: String
749   conditional: MEDIA_STREAM
750
751 # FIXME: This quirk is needed because of Radar 4674537 and 5211271. We need to phase it out once Adobe
752 # can fix the bug from their end.
753 needsAdobeFrameReloadingQuirk:
754   initial: false
755   getter: needsAcrobatFrameReloadingQuirk
756
757 passiveTouchListenersAsDefaultOnDocument:
758   initial: true
759
760 touchEventEmulationEnabled:
761   initial: false
762   getter: isTouchEventEmulationEnabled
763   conditional: TOUCH_EVENTS
764
765 deviceOrientationEventEnabled:
766   type: bool
767   initial: true
768   conditional: DEVICE_ORIENTATION
769
770 deviceOrientationPermissionAPIEnabled:
771   type: bool
772   initial: false
773   conditional: DEVICE_ORIENTATION
774
775 shouldEnableTextAutosizingBoost:
776   type: bool
777   initial: false
778   conditional: TEXT_AUTOSIZING
779   onChange: shouldEnableTextAutosizingBoostChanged
780
781 mediaCapabilitiesEnabled:
782   initial: false
783
784 clientCoordinatesRelativeToLayoutViewport:
785   initial: false
786   onChange: setNeedsRecalcStyleInAllFrames
787
788 accessibilityEventsEnabled:
789   initial: true
790   conditional: ACCESSIBILITY_EVENTS
791
792 incompleteImageBorderEnabled:
793   initial: false
794
795 shouldDeferAsynchronousScriptsUntilAfterDocumentLoad:
796   initial: false
797
798 shouldIgnoreMetaViewport:
799   initial: false
800
801 videoQualityIncludesDisplayCompositingEnabled:
802   initial: false
803   conditional: VIDEO
804
805 editableImagesEnabled:
806   initial: false
807
808 adClickAttributionEnabled:
809   initial: false
810
811 # Deprecated
812
813 iceCandidateFilteringEnabled:
814   initial: true
815   onChange: iceCandidateFilteringEnabledChanged
816   inspectorOverride: true
817
818 mockCaptureDevicesEnabled:
819   initial: false
820   conditional: MEDIA_STREAM
821   onChange: mockCaptureDevicesEnabledChanged
822   inspectorOverride: true
823
824 mediaCaptureRequiresSecureConnection:
825   initial: true
826   conditional: MEDIA_STREAM
827   inspectorOverride: true