WebPreferencesExperimental.yaml [plain text]
# Copyright (c) 2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
# For experimental features:
# The type should be boolean.
# They must include a humanReadableName and humanReadableDescription. This is
# the text exposed to the user from the WebKit client.
AccessibilityObjectModelEnabled:
type: bool
humanReadableName: "Accessibility Object Model"
humanReadableDescription: "Accessibility Object Model support"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
AspectRatioEnabled:
type: bool
humanReadableName: "CSS Aspect Ratio"
humanReadableDescription: "Enable aspect-ratio CSS property"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
AspectRatioOfImgFromWidthAndHeightEnabled:
type: bool
humanReadableName: "Aspect ratio of <img> from width and height"
humanReadableDescription: "Map HTML attributes width/height to the default aspect ratio of <img>"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
# FIXME: This is on by default in WebKit2 PLATFORM(COCOA). Perhaps we should consider turning it on for WebKitLegacy as well.
AsyncClipboardAPIEnabled:
type: bool
humanReadableName: "Async clipboard API"
humanReadableDescription: "Enable the async clipboard API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(COCOA)" : true
default: false
WebCore:
default: false
AudioWorkletEnabled:
type: bool
humanReadableName: "WebAudio AudioWorklet API"
humanReadableDescription: "WebAudio AudioWorklet API"
condition: ENABLE(WEB_AUDIO)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)" : true
default: false
WebKit:
default: true
WebCore:
default: false
BlankAnchorTargetImpliesNoOpenerEnabled:
type: bool
humanReadableName: "Blank anchor target implies rel=noopener"
humanReadableDescription: "target=_blank on anchor elements implies rel=noopener"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
CSSCustomPropertiesAndValuesEnabled:
type: bool
humanReadableName: "CSS Custom Properties and Values API"
humanReadableDescription: "Enable CSS Custom Properties and Values API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
CSSIndividualTransformPropertiesEnabled:
type: bool
humanReadableName: "CSS Individual Transform Properties"
humanReadableDescription: "Support for the translate, scale and rotate CSS properties"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
CSSOMViewSmoothScrollingEnabled:
type: bool
humanReadableName: "CSSOM View Smooth Scrolling"
humanReadableDescription: "Enable DOM API and CSS property for 'smooth' scroll behavior"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
CSSPaintingAPIEnabled:
type: bool
humanReadableName: "CSS Painting API"
humanReadableDescription: "Enable the CSS Painting API"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(CSS_PAINTING_API)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
default: false
CSSTypedOMEnabled:
type: bool
humanReadableName: "CSS Typed OM"
humanReadableDescription: "Enable the CSS Typed OM"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(CSS_TYPED_OM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
default: false
ContactPickerAPIEnabled:
type: bool
humanReadableName: "Contact Picker API"
humanReadableDescription: "Enable the Contact Picker API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
CoreImageAcceleratedFilterRenderEnabled:
type: bool
webcoreOnChange: setNeedsRelayoutAllFrames
humanReadableName: "CoreImage-Accelerated Filter Rendering"
humanReadableDescription: "Accelerated CSS and SVG filter rendering using CoreImage"
condition: ENABLE(CORE_IMAGE_ACCELERATED_FILTER_RENDER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
CoreMathMLEnabled:
type: bool
webcoreOnChange: setNeedsRecalcStyleInAllFrames
humanReadableName: "MathML Core"
humanReadableDescription: "Disable features removed from the MathML Core spec."
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(GTK) || PLATFORM(WPE)": true
default: false
WebCore:
default: false
DialogElementEnabled:
type: bool
humanReadableName: "Dialog Element"
humanReadableDescription: "Enable the Dialog Element"
webKitLegacyPreferenceKey: WebKitDialogElementEnabledPreferenceKey
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
# FIXME: Starting the preference name with "Disable" is inconsistent with most other preferences and should be changed.
DisableMediaExperiencePIDInheritance:
type: bool
webcoreBinding: RuntimeEnabledFeatures
humanReadableName: "Disable Media Experience PID Inheritance"
humanReadableDescription: "Disable Media Experience PID Inheritance"
condition: HAVE(CELESTIAL)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
DisallowSyncXHRDuringPageDismissalEnabled:
type: bool
humanReadableName: "Disallow sync XHR during page dismissal"
humanReadableDescription: "Disallow synchronous XMLHttpRequest during page dismissal"
defaultValue:
WebKitLegacy:
default: true
WebKit:
"PLATFORM(MAC) || PLATFORM(IOS_FAMILY)": WebKit::defaultDisallowSyncXHRDuringPageDismissalEnabled()
default: true
WebCore:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
ExposeSpeakersEnabled:
type: bool
humanReadableName: "Allow speaker device selection"
humanReadableDescription: "Allow speaker device selection"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This seems to be accidentally enabled for WebKit1 right now due to the old code using the
# wrong preference key in some places. We should identify whether it really makes sense to keep this
# enabled.
FetchAPIKeepAliveEnabled:
type: bool
humanReadableName: "Fetch API Request KeepAlive"
humanReadableDescription: "Enable Fetch API Request KeepAlive"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
GenericCueAPIEnabled:
type: bool
condition: ENABLE(VIDEO)
humanReadableName: "Generic Text Track Cue API"
humanReadableDescription: "Enable Generic Text Track Cue API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
GoogleAntiFlickerOptimizationQuirkEnabled:
type: bool
humanReadableName: "Quirk to prevent delayed initial painting on sites using Google's Anti-Flicker optimization"
humanReadableDescription: "Quirk to prevent delayed initial painting on sites using Google's Anti-Flicker optimization"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
HDRMediaCapabilitiesEnabled:
type: bool
humanReadableName: "HDR Media Capabilities"
humanReadableDescription: "HDR Media Capabilities"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
HTTP3Enabled:
type: bool
humanReadableName: "HTTP/3"
humanReadableDescription: "Enable HTTP/3"
webcoreBinding: none
condition: HAVE(CFNETWORK_ALTERNATIVE_SERVICE)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false
# FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
HTTPSUpgradeEnabled:
type: bool
humanReadableName: "Automatic HTTPS upgrade"
humanReadableDescription: "Automatic HTTPS upgrade for known supported sites"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
HighlightAPIEnabled:
type: bool
humanReadableName: "Highlight API"
humanReadableDescription: "Highlight API support"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
ImageBitmapEnabled:
type: bool
humanReadableName: "ImageBitmap"
humanReadableDescription: "Support for the ImageBitmap APIs"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)" : true
default: false
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
InProcessCookieCacheEnabled:
type: bool
humanReadableName: "In-Process Cookie Cache"
humanReadableDescription: "In-Process DOM Cookie Cache"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: false
IncrementalPDFLoadingEnabled:
type: bool
humanReadableName: "Incremental PDF Loading"
humanReadableDescription: "Enable Incremental PDF Loading on supported platforms"
condition: HAVE(INCREMENTAL_PDF_APIS)
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: WebKit::defaultIncrementalPDFEnabled()
WebKit:
default: WebKit::defaultIncrementalPDFEnabled()
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
IntersectionObserverEnabled:
type: bool
humanReadableName: "Intersection Observer"
humanReadableDescription: "Enable Intersection Observer support"
condition: ENABLE(INTERSECTION_OBSERVER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
# FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed.
IsFirstPartyWebsiteDataRemovalDisabled:
type: bool
humanReadableName: "Disable Removal of Non-Cookie Data After 7 Days of No User Interaction (ITP)"
humanReadableDescription: "Disable removal of all non-cookie website data after seven days of no user interaction when Intelligent Tracking Prevention is enabled"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed.
IsLoggedInAPIEnabled:
type: bool
humanReadableName: "IsLoggedIn web API"
humanReadableDescription: "Enable the proposed IsLoggedIn web API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed.
# FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
IsNSURLSessionWebSocketEnabled:
type: bool
humanReadableName: "NSURLSession WebSocket"
humanReadableDescription: "Use NSURLSession WebSocket API"
webcoreBinding: RuntimeEnabledFeatures
condition: HAVE(NSURLSESSION_WEBSOCKET)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
# FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed.
IsSameSiteStrictEnforcementEnabled:
type: bool
humanReadableName: "SameSite strict enforcement (ITP)"
humanReadableDescription: "Enable SameSite strict enforcement to mitigate bounce tracking"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed.
IsThirdPartyCookieBlockingDisabled:
type: bool
humanReadableName: "Disable Full 3rd-Party Cookie Blocking (ITP)"
humanReadableDescription: "Disable full third-party cookie blocking when Intelligent Tracking Prevention is enabled"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
LazyIframeLoadingEnabled:
type: bool
humanReadableName: "Lazy iframe loading"
humanReadableDescription: "Enable lazy iframe loading support"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
LazyImageLoadingEnabled:
type: bool
humanReadableName: "Lazy image loading"
humanReadableDescription: "Enable lazy image loading support"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
LinkPrefetchEnabled:
type: bool
humanReadableName: "LinkPrefetch"
humanReadableDescription: "Enable LinkedPrefetch"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
LinkPreloadResponsiveImagesEnabled:
type: bool
humanReadableName: "Link preload responsive images"
humanReadableDescription: "Enable link preload responsive images"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
MaskWebGLStringsEnabled:
type: bool
humanReadableName: "Mask WebGL Strings"
humanReadableDescription: "Mask WebGL Vendor, Renderer, Shader Language Strings"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEBGL) || ENABLE(WEBGL2)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
MediaCapabilitiesExtensionsEnabled:
type: bool
humanReadableName: "Media Capabilities Extensions"
humanReadableDescription: "Media Capabilities Extensions"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
MediaRecorderEnabled:
type: bool
humanReadableName: "MediaRecorder"
humanReadableDescription: "MediaRecorder"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"HAVE(AVASSETWRITERDELEGATE)": true
default: false
WebCore:
default: false
MediaSessionEnabled:
type: bool
humanReadableName: "Media Session API"
humanReadableDescription: "Media Session API"
condition: ENABLE(MEDIA_SESSION)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
ModelElementEnabled:
type: bool
humanReadableName: "HTML <model> element"
humanReadableDescription: "HTML <model> element"
condition: ENABLE(MODEL_ELEMENT)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
ModernUnprefixedWebAudioEnabled:
type: bool
humanReadableName: "Modern WebAudio API"
humanReadableDescription: "Modern and unprefixed WebAudio API"
condition: ENABLE(WEB_AUDIO)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)" : true
default: false
WebKit:
default: true
WebCore:
default: false
OverscrollBehaviorEnabled:
type: bool
humanReadableName: "CSS Overscroll Behavior"
humanReadableDescription: "Enable CSS overscroll-behavior"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
PageAtRuleSupportEnabled:
type: bool
humanReadableName: "@page CSS at-rule support"
humanReadableDescription: "Enable @page support"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
PaintTimingEnabled:
type: bool
humanReadableName: "Paint Timing"
humanReadableDescription: "Enable PaintTiming API"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
PassiveWheelListenersAsDefaultOnDocument:
type: bool
humanReadableName: "Wheel Event listeners on the root made passive"
humanReadableDescription: "Force wheel event listeners registered on the window, document or body to be passive"
defaultValue:
WebKitLegacy:
"PLATFORM(MAC)": WebKit::defaultPassiveWheelListenersAsDefaultOnDocument()
default: true
WebKit:
"PLATFORM(MAC)": WebKit::defaultPassiveWheelListenersAsDefaultOnDocument()
default: true
WebCore:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
PerElementSpeakerSelectionEnabled:
type: bool
humanReadableName: "Allow per media element speaker device selection"
humanReadableDescription: "Allow per media element speaker device selection"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
PrivateClickMeasurementDebugModeEnabled:
type: bool
humanReadableName: "Private Click Measurement Debug Mode"
humanReadableDescription: "Enable Private Click Measurement Debug Mode"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
ProcessSwapOnCrossSiteNavigationEnabled:
type: bool
humanReadableName: "Swap Processes on Cross-Site Navigation"
humanReadableDescription: "Swap WebContent Processes on cross-site navigations"
webcoreBinding: none
exposed: [ WebKit ]
defaultValue:
WebKit:
"PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(GTK) || PLATFORM(WPE)": true
default: false
ReadableByteStreamAPIEnabled:
type: bool
humanReadableName: "ReadableByteStream"
humanReadableDescription: "Enable Readable Byte Streams"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
ReferrerPolicyAttributeEnabled:
type: bool
humanReadableName: "Referrer Policy attribute"
humanReadableDescription: "Enable Referrer Policy attribute"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: true
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
RemotePlaybackEnabled:
type: bool
humanReadableName: "Remote Playback API"
humanReadableDescription: "Enable Remote Playback API"
condition: ENABLE(WIRELESS_PLAYBACK_TARGET)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: true
RequestIdleCallbackEnabled:
type: bool
humanReadableName: "requestIdleCallback"
humanReadableDescription: "Enable requestIdleCallback support"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
ResizeObserverEnabled:
type: bool
humanReadableName: "Resize Observer"
humanReadableDescription: "Enable Resize Observer support"
condition: ENABLE(RESIZE_OBSERVER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
# FIXME: This should have it's own ENABLE.
ScreenCaptureEnabled:
type: bool
condition: ENABLE(MEDIA_STREAM)
humanReadableName: "ScreenCapture"
humanReadableDescription: "Enable ScreenCapture"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(MAC)": true
default: false
WebCore:
default: false
ServerTimingEnabled:
type: bool
humanReadableName: "Server Timing"
humanReadableDescription: "Enable Server Timing API"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
default: false
ShouldDeferAsynchronousScriptsUntilAfterDocumentLoadOrFirstPaint:
type: bool
humanReadableName: "Defer async scripts until DOMContentLoaded or first-paint"
humanReadableDescription: "Defer async scripts until DOMContentLoaded or first-paint"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
SpeechRecognitionEnabled:
type: bool
humanReadableName: "SpeechRecognition API"
humanReadableDescription: "Enable SpeechRecognition of WebSpeech API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"HAVE(SPEECHRECOGNIZER) && ENABLE(MEDIA_STREAM)": true
default: false
WebCore:
default: false
# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
SpringTimingFunctionEnabled:
type: bool
humanReadableName: "CSS Spring Animations"
humanReadableDescription: "CSS Spring Animation prototype"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)" : true
default: false
WebCore:
default: false
SyntheticEditingCommandsEnabled:
type: bool
humanReadableName: "Synthetic Editing Commands"
humanReadableDescription: "Enable Synthetic Editing Commands"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
ThirdPartyIframeRedirectBlockingEnabled:
type: bool
humanReadableName: "Block top-level redirects by third-party iframes"
humanReadableDescription: "Block top-level redirects by third-party iframes"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
TransformStreamAPIEnabled:
type: bool
humanReadableName: "TransformStream API"
humanReadableDescription: "Enable Transform Stream API"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
UserGesturePromisePropagationEnabled:
type: bool
humanReadableName: "UserGesture Promise Propagation"
humanReadableDescription: "UserGesture Promise Propagation"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
VP8DecoderEnabled:
type: bool
humanReadableName: "VP8 decoder"
humanReadableDescription: "Enable VP8 decoder"
webcoreBinding: none
condition: ENABLE(VP9)
defaultValue:
WebKit:
default: WebKit::defaultVP8DecoderEnabled()
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
VP9DecoderEnabled:
type: bool
humanReadableName: "VP9 decoder"
humanReadableDescription: "Enable VP9 decoder"
condition: ENABLE(VP9)
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: WebKit::defaultVP9DecoderEnabled()
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
VP9SWDecoderEnabledOnBattery:
type: bool
humanReadableName: "VP9 SW decoder on battery"
humanReadableDescription: "Enable VP9 SW decoder on battery"
webcoreBinding: none
condition: ENABLE(VP9)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: WebKit::defaultVP9SWDecoderEnabledOnBattery()
VisualViewportAPIEnabled:
type: bool
humanReadableName: "Visual Viewport API"
humanReadableDescription: "Enable Visual Viewport API"
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)" : false
default: true
WebKit:
default: true
WebCore:
default: false
VorbisDecoderEnabled:
type: bool
humanReadableName: "Vorbis audio decoder"
humanReadableDescription: "Enable Vorbis audio decoder"
condition: ENABLE(VORBIS)
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
WebAnimationsCompositeOperationsEnabled:
type: bool
humanReadableName: "Web Animations composite operations"
humanReadableDescription: "Support for the CompositeOperation enum and properties consuming it"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)" : true
default: false
WebCore:
default: false
# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
WebAnimationsMutableTimelinesEnabled:
type: bool
humanReadableName: "Web Animations mutable timelines"
humanReadableDescription: "Support for setting the timeline property of an Animation object"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)" : true
default: false
WebCore:
default: false
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebAuthenticationEnabled:
type: bool
humanReadableName: "Web Authentication"
humanReadableDescription: "Enable Web Authentication support"
condition: ENABLE(WEB_AUTHN)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebAuthenticationModernEnabled:
type: bool
humanReadableName: "Web Authentication Modern"
humanReadableDescription: "Enable Modern Web Authentication support"
condition: ENABLE(WEB_AUTHN)
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(IOS)" : true
default: false
WebCore:
default: false
WebGL2Enabled:
type: bool
humanReadableName: "WebGL 2.0"
humanReadableDescription: "WebGL 2 prototype"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEBGL2)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebGPUEnabled:
type: bool
humanReadableName: "WebGPU"
humanReadableDescription: "WebGPU Sketch prototype"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEBGPU)
defaultValue:
WebKitLegacy:
default: WebKit::defaultWebGPUEnabled()
WebKit:
default: WebKit::defaultWebGPUEnabled()
WebMFormatReaderEnabled:
type: bool
webcoreBinding: RuntimeEnabledFeatures
humanReadableName: "WebM format reader"
humanReadableDescription: "Enable MediaToolbox format reader plug-in for WebM"
condition: ENABLE(WEBM_FORMAT_READER)
defaultValue:
WebKit:
default: WebKit::defaultWebMFormatReaderEnabled()
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebMParserEnabled:
type: bool
webcoreBinding: RuntimeEnabledFeatures
humanReadableName: "WebM MSE parser"
humanReadableDescription: "Enable WebM MSE parser"
condition: ENABLE(MEDIA_SOURCE) && ENABLE(VP9)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: WebKit::defaultWebMParserEnabled()
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCH264LowLatencyEncoderEnabled:
type: bool
humanReadableName: "WebRTC H264 LowLatency encoder"
humanReadableDescription: "Enable H264 LowLatency encoder"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCH265CodecEnabled:
type: bool
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
humanReadableName: "WebRTC H265 codec"
humanReadableDescription: "Enable WebRTC H265 codec"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebRTCInsertableStreamsEnabled:
type: bool
condition: ENABLE(WEB_RTC)
humanReadableName: "WebRTC Insertable Streams API"
humanReadableDescription: "Enable WebRTC Insertable Streams API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
WebRTCPlatformCodecsInGPUProcessEnabled:
type: bool
humanReadableName: "WebRTC Platform Codecs in GPU Process"
humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: WebKit::defaultWebRTCCodecsInGPUProcess()
WebRTCPlatformSocketsEnabled:
type: bool
humanReadableName: "WebRTC Platform Sockets"
humanReadableDescription: "Enable WebRTC Platform Sockets"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKit:
default: true
WebRTCVP9Profile0CodecEnabled:
type: bool
humanReadableName: "WebRTC VP9 profile 0 codec"
humanReadableDescription: "Enable WebRTC VP9 profile 0 codec"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebRTCVP9Profile2CodecEnabled:
type: bool
humanReadableName: "WebRTC VP9 profile 2 codec"
humanReadableDescription: "Enable WebRTC VP9 profile 2 codec"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebSQLDisabled:
type: bool
humanReadableName: "Disable WebSQL"
humanReadableDescription: "Disable WebSQL"
webcoreBinding: RuntimeEnabledFeatures
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
# FIXME: WebKitLegacy has an existing preference called 'WebSQLEnabled'. We should reconcile it with WebSQLDisabled.
WebSQLEnabled:
type: bool
humanReadableName: "Enable WebSQL"
humanReadableDescription: "Enable WebSQL"
webcoreBinding: custom
exposed: [ WebKitLegacy ]
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": WebKit::defaultWebSQLEnabled()
default: true
WebShareFileAPIEnabled:
type: bool
humanReadableName: "Web Share API Level 2"
humanReadableDescription: "Enable level 2 of Web Share API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
WebXREnabled:
type: bool
humanReadableName: "WebXR Device API"
humanReadableDescription: "Adds support for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays, on the Web"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEBXR)
defaultValue:
WebKitLegacy:
default: WebKit::defaultWebXREnabled()
WebKit:
default: WebKit::defaultWebXREnabled()
WheelEventGesturesBecomeNonBlocking:
type: bool
humanReadableName: "Wheel Event gestures become non-blocking"
humanReadableDescription: "preventDefault() is only allowed on the first wheel event in a gesture"
defaultValue:
WebKitLegacy:
"PLATFORM(MAC)": WebKit::defaultWheelEventGesturesBecomeNonBlocking()
default: true
WebKit:
"PLATFORM(MAC)": WebKit::defaultWheelEventGesturesBecomeNonBlocking()
default: true
WebCore:
default: true
WritableStreamAPIEnabled:
type: bool
humanReadableName: "WritableStream API"
humanReadableDescription: "Enable Writable Stream API"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true