# Copyright (c) 2020-2021 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.

AccentColorEnabled:
  type: bool
  humanReadableName: "CSS Accent Color"
  humanReadableDescription: "Enable accent-color CSS property"
  defaultValue:
    WebKitLegacy:
      "PLATFORM(COCOA)" : true
      default: false
    WebKit:
      "PLATFORM(COCOA)" : true
      default: false
    WebCore:
      "PLATFORM(COCOA)" : true
      default: false

AccessHandleEnabled:
  type: bool
  humanReadableName: "AccessHandle API"
  humanReadableDescription: "Enable AccessHandle API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA)" : true
      default: false
    WebCore:
      "PLATFORM(COCOA)" : true
      default: false

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: true
    WebKit:
      default: true
    WebCore:
      default: true

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: true
    WebKit:
      default: true
    WebCore:
      default: true

# 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

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

# We would have to partition BroadcastChannel based on PageGroups if we wanted to enable this for WebKitLegacy.
BroadcastChannelEnabled:
  type: bool
  humanReadableName: "BroadcastChannel API"
  humanReadableDescription: "BroadcastChannel API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

BroadcastChannelOriginPartitioningEnabled:
  type: bool
  humanReadableName: "BroadcastChannel Origin Partitioning"
  humanReadableDescription: "BroadcastChannel Origin Partitioning"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

BuiltInNotificationsEnabled:
  type: bool
  humanReadableName: "Built-In Web Notifications"
  humanReadableDescription: "Enable built-in WebKit managed notifications"
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(BUILT_IN_NOTIFICATIONS)
  defaultValue:
    WebCore:
      default: false
    WebKit:
      default: false

CFNetworkNetworkLoaderEnabled:
  type: bool
  humanReadableName: "Experimental network loader"
  humanReadableDescription: "Enable experimental network loader"
  webcoreBinding: none
  condition: HAVE(NETWORK_LOADER)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

CSS3DTransformInteroperabilityEnabled:
  type: bool
  humanReadableName: "CSS 3D Transform Interoperability"
  humanReadableDescription: "Enable 3D transform behavior that is specification-compliant but backwards incompatible"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSCascadeLayersEnabled:
  type: bool
  humanReadableName: "CSS Cascade Layers"
  humanReadableDescription: "Enable CSS Cascade Layers"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

CSSColor4:
  type: bool
  humanReadableName: "CSS Color 4 Color Types"
  humanReadableDescription: "Enable support for CSS Color 4 Color Types"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

CSSColorContrastEnabled:
  type: bool
  humanReadableName: "CSS color-contrast()"
  humanReadableDescription: "Enable support for CSS color-contrast() defined in CSS Color 5"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSColorMixEnabled:
  type: bool
  humanReadableName: "CSS color-mix()"
  humanReadableDescription: "Enable support for CSS color-mix() defined in CSS Color 5"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSContainerQueriesEnabled:
  type: bool
  humanReadableName: "CSS Container Queries"
  humanReadableDescription: "Enable CSS Container Queries"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSContainmentEnabled:
  type: bool
  humanReadableName: "CSS Containment"
  humanReadableDescription: "Enable contain CSS property"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

CSSCounterStyleAtRuleImageSymbolsEnabled:
  type: bool
  humanReadableName: "CSS @counter-style <image> symbols"
  humanReadableDescription: "Enable support for <image> symbols in CSS @counter-style rules"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSCounterStyleAtRulesEnabled:
  type: bool
  humanReadableName: "CSS @counter-style"
  humanReadableDescription: "Enable support for CSS @counter-style rules"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

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

CSSGradientInterpolationColorSpacesEnabled:
  type: bool
  humanReadableName: "CSS Gradient Interpolation Color Spaces"
  humanReadableDescription: "Enable custom interpolation in CSS gradients"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSGradientPremultipliedAlphaInterpolationEnabled:
  type: bool
  humanReadableName: "CSS Gradient Premultiplied Alpha Interpolation"
  humanReadableDescription: "Enable premultiplied alpha interpolated CSS gradients"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# 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

CSSInputSecurityEnabled:
  type: bool
  humanReadableName: "CSS Input Security"
  humanReadableDescription: "Enable input-security CSS property"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSMotionPathEnabled:
  type: bool
  humanReadableName: "CSS Motion Path"
  humanReadableDescription: "Enable CSS Motion Path support"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CSSOMViewSmoothScrollingEnabled:
  type: bool
  humanReadableName: "CSSOM View Smooth Scrolling"
  humanReadableDescription: "Enable DOM API and CSS property for 'smooth' scroll behavior"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    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

CSSRelativeColorSyntaxEnabled:
  type: bool
  humanReadableName: "CSS Relative Color Syntax"
  humanReadableDescription: "Enable support for CSS Relative Color Syntax defined in CSS Color 5"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      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

CanvasColorSpaceEnabled:
  type: bool
  humanReadableName: "Canvas Color Spaces"
  humanReadableDescription: "Enable use of predefined canvas color spaces"
  defaultValue:
    WebKitLegacy:
      "PLATFORM(COCOA)": true
      default: false
    WebKit:
      "PLATFORM(COCOA)": true
      default: false
    WebCore:
      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

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

CrossOriginEmbedderPolicyEnabled:
  type: bool
  humanReadableName: "Cross-Origin-Embedder-Policy (COEP) header"
  humanReadableDescription: "Support for Cross-Origin-Embedder-Policy (COEP) header"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

CrossOriginOpenerPolicyEnabled:
  type: bool
  humanReadableName: "Cross-Origin-Opener-Policy (COOP) header"
  humanReadableDescription: "Support for Cross-Origin-Opener-Policy (COOP) header"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

DialogElementEnabled:
  type: bool
  humanReadableName: "Dialog Element"
  humanReadableDescription: "Enable the Dialog Element"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# 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

FTPEnabled:
  type: bool
  humanReadableName: "FTP support enabled"
  humanReadableDescription: "FTP support enabled"
  defaultValue:
    WebCore:
      default: false
    WebKit:
      default: false
    WebKitLegacy:
      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

FileSystemAccessEnabled:
  type: bool
  humanReadableName: "File System Access API"
  humanReadableDescription: "Enable File System Access API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA)" : true
      default: false
    WebCore:
      "PLATFORM(COCOA)" : true
      default: false

FocusVisibleEnabled:
  type: bool
  humanReadableName: ":focus-visible pseudo-class"
  humanReadableDescription: "Enable the focus-indicated pseudo-class :focus-visible"
  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.
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

HasPseudoClassEnabled:
  type: bool
  humanReadableName: ":has() pseudo-class"
  humanReadableDescription: "Enable :has() pseudo-class"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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: true

# 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()

InertAttributeEnabled:
  type: bool
  humanReadableName: "inert attribute"
  humanReadableDescription: "Enable inert attribute 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.
IntersectionObserverEnabled:
  type: bool
  humanReadableName: "Intersection Observer"
  humanReadableDescription: "Enable Intersection Observer support"
  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: true

# 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: true
    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

LinkSanitizerEnabled:
  type: bool
  humanReadableName: "Link Sanitizer"
  humanReadableDescription: "Enable link sanitizer"
  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"
  condition: ENABLE(WEBGL) || ENABLE(WEBGL2)
  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.
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:
      "PLATFORM(COCOA)": true
      default: false
    WebCore:
      default: false

MediaSessionCoordinatorEnabled:
  type: bool
  humanReadableName: "Experimental MediaSession coordinator API"
  humanReadableDescription: "Enable experimental MediaSession coordinator API"
  condition: ENABLE(MEDIA_SESSION_COORDINATOR)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: WebKit::defaultMediaSessionCoordinatorEnabled()
    WebCore:
      default: true

MediaSessionEnabled:
  type: bool
  humanReadableName: "Media Session API"
  humanReadableDescription: "Media Session API"
  condition: ENABLE(MEDIA_SESSION)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

MediaSessionPlaylistEnabled:
  type: bool
  humanReadableName: "Experimental MediaSession playlist API"
  humanReadableDescription: "Enable experimental MediaSession playlist API"
  condition: ENABLE(MEDIA_SESSION_COORDINATOR) && ENABLE(MEDIA_SESSION_PLAYLIST)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: WebKit::defaultMediaSessionCoordinatorEnabled()
    WebCore:
      default: true

MediaSourceInlinePaintingEnabled:
  type: bool
  humanReadableName: "Experimental MediaSource Inline Painting"
  humanReadableDescription: "Experimental MediaSource Inline Painting"
  condition: ENABLE(MEDIA_SOURCE) && (HAVE(AVSAMPLEBUFFERVIDEOOUTPUT) || USE(GSTREAMER))
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

ModelDocumentEnabled:
  type: bool
  humanReadableName: "HTML <model> elements for stand-alone document"
  humanReadableDescription: "HTML <model> element for model documents"
  condition: ENABLE(MODEL_ELEMENT)
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "ENABLE(SEPARATED_MODEL)": true
      default: false

ModelElementEnabled:
  type: bool
  humanReadableName: "HTML <model> element"
  humanReadableDescription: "HTML <model> element"
  condition: ENABLE(MODEL_ELEMENT)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "ENABLE(SEPARATED_MODEL)": true
      default: false
    WebCore:
      default: false

OpusDecoderEnabled:
  type: bool
  humanReadableName: "Opus audio decoder"
  humanReadableDescription: "Enable Opus audio decoder"
  condition: ENABLE(OPUS)
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true

OverflowClipEnabled:
  type: bool
  humanReadableName: "CSS overflow: clip support"
  humanReadableDescription: "Enable CSS overflow: clip support"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    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

PerformanceNavigationTimingAPIEnabled:
  type: bool
  humanReadableName: "PerformanceNavigationTiming"
  humanReadableDescription: "Enable PerformanceNavigationTiming API"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# Note: This is off by default because of privacy concerns
# such as https://github.com/w3c/resource-timing/issues/238
PerformanceResourceTimingSensitivePropertiesEnabled:
  type: bool
  humanReadableName: "PerformanceResourceTiming.transferSize, encodedBodySize, and decodedBodySize"
  humanReadableDescription: "Enable all properties of PerformanceResourceTiming API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

PermissionsAPIEnabled:
  type: bool
  humanReadableName: "Permissions API"
  humanReadableDescription: "Enable Permissions API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

PreferPageRenderingUpdatesNear60FPSEnabled:
  type: bool
  humanReadableName: "Prefer Page Rendering Updates near 60fps"
  humanReadableDescription: "Prefer page rendering updates near 60 frames per second rather than using the display's refresh rate"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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

PrivateClickMeasurementFraudPreventionEnabled:
  type: bool
  humanReadableName: "Private Click Measurement Fraud Prevention"
  humanReadableDescription: "Enable Private Click Measurement Fraud Prevention"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKit:
      "HAVE(RSA_BSSA)": true
      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

PushAPIEnabled:
  type: bool
  condition: ENABLE(SERVICE_WORKER)
  humanReadableName: "Push API"
  humanReadableDescription: "Enable Push API"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebCore:
      default: false
    WebKit:
      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

RequestSubmitEnabled:
  type: bool
  humanReadableName: "Form requestSubmit"
  humanReadableDescription: "Form requestSubmit method"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

RequestVideoFrameCallbackEnabled:
  type: bool
  humanReadableName: "RequestVideoFrameCallback"
  humanReadableDescription: "Enable RequestVideoFrameCallback API"
  defaultValue:
    WebKitLegacy:
      "PLATFORM(COCOA) && HAVE(AVSAMPLEBUFFERVIDEOOUTPUT)" : true
      default: false
    WebKit:
      "PLATFORM(COCOA) && HAVE(AVSAMPLEBUFFERVIDEOOUTPUT)" : true
      "USE(GSTREAMER)": true
      default: false
    WebCore:
      "PLATFORM(COCOA) && HAVE(AVSAMPLEBUFFERVIDEOOUTPUT)" : true
      "USE(GSTREAMER)": true
      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"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

ResolutionMediaFeatureEnabled:
  type: bool
  humanReadableName: "Resolution media feature"
  humanReadableDescription: "Enable resolution media feature support"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# 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) || USE(GSTREAMER)": true
      default: false
    WebCore:
      default: false
      
ScrollToTextFragmentEnabled:
  type: bool
  humanReadableName: "Scroll To Text Fragment"
  humanReadableDescription: "Enable Scroll To Text Fragment"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      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

ServiceWorkerNavigationPreloadEnabled:
  type: bool
  humanReadableName: "Service Worker Navigation Preload"
  humanReadableDescription: "Enable Service Worker Navigation Preload API"
  condition: ENABLE(SERVICE_WORKER)
  defaultValue:
    WebCore:
      default: true
    WebKitLegacy:
      default: false
    WebKit:
      default: true

SharedWorkerEnabled:
  type: bool
  humanReadableName: "SharedWorker"
  humanReadableDescription: "Enabled SharedWorker API"
  defaultValue:
    WebCore:
      default: false
    WebKitLegacy:
      default: false
    WebKit:
      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

StorageAPIEnabled:
  type: bool
  humanReadableName: "Storage API"
  humanReadableDescription: "Enable Storage API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA)" : true
      default: false
    WebCore:
      "PLATFORM(COCOA)" : true
      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

TrackConfigurationEnabled:
  type: bool
  humanReadableName: "Track Configuration API"
  humanReadableDescription: "Track Configuration API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

TransformStreamAPIEnabled:
  type: bool
  humanReadableName: "TransformStream API"
  humanReadableDescription: "Enable Transform Stream API"
  defaultValue:
    WebCore:
      default: true
    WebKitLegacy:
      default: true
    WebKit:
      default: true

UseGPUProcessForDOMRenderingEnabled:
  type: bool
  humanReadableName: "GPU Process: DOM Rendering"
  humanReadableDescription: "Enable DOM rendering in GPU Process"
  webcoreBinding: none
  condition: ENABLE(GPU_PROCESS)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: defaultUseGPUProcessForDOMRenderingEnabled()

UseGPUProcessForWebGLEnabled:
  type: bool
  humanReadableName: "GPU Process: WebGL"
  humanReadableDescription: "Process all WebGL operations in GPU Process"
  webcoreBinding: none
  condition: ENABLE(GPU_PROCESS) && ENABLE(WEBGL) && !(PLATFORM(GTK) || PLATFORM(WPE))
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: defaultUseGPUProcessForWebGLEnabled()

UseScreenCaptureKit:
  type: bool
  condition: HAVE(SCREEN_CAPTURE_KIT)
  humanReadableName: "Use ScreenCaptureKit"
  humanReadableDescription: "Use ScreenCaptureKit when available"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: WebKit::defaultScreenCaptureKitEnabled()
    WebCore:
      default: false

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:
    WebKitLegacy:
      default: WebKit::defaultVP8DecoderEnabled()
    WebKit:
      default: WebKit::defaultVP8DecoderEnabled()

VP9DecoderEnabled:
  type: bool
  humanReadableName: "VP9 decoder"
  humanReadableDescription: "Enable VP9 decoder"
  condition: ENABLE(VP9)
  defaultValue:
    WebCore:
      default: false
    WebKitLegacy:
      default: WebKit::defaultVP9DecoderEnabled()
    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

WebAnimationsCustomEffectsEnabled:
  type: bool
  humanReadableName: "Web Animations custom effects"
  humanReadableDescription: "Support for the CustomEffect interface"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebAnimationsCustomFrameRateEnabled:
  type: bool
  humanReadableName: "Web Animations custom frame rate"
  humanReadableDescription: "Support for specifying a custom frame rate for Web Animations"
  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.
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: true
    WebCore:
      default: true

# 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"
  condition: ENABLE(WEBGL2)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

WebGLUsingMetal:
  type: bool
  humanReadableName: "WebGL via Metal"
  humanReadableDescription: "Use the Metal backend for ANGLE"
  condition: ENABLE(WEBGL) && PLATFORM(COCOA)
  defaultValue:
    WebKitLegacy:
      "HAVE(WEBGL_COMPATIBLE_METAL)": true
      default: false
    WebKit:
      "HAVE(WEBGL_COMPATIBLE_METAL)": true
      default: false
    WebCore:
      "HAVE(WEBGL_COMPATIBLE_METAL)": true
      default: false

WebKitAdditionsFeature1Enabled:
  type: bool
  humanReadableName: WebKitAdditionsFeature1HumanReadableName
  humanReadableDescription: WebKitAdditionsFeature1HumanReadableDescription
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebLocksAPIEnabled:
  type: bool
  humanReadableName: "Web Locks API"
  humanReadableDescription: "Web Locks API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

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)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultWebMParserEnabled()
    WebKit:
      default: WebKit::defaultWebMParserEnabled()

WebRTCEncodedTransformEnabled:
  type: bool
  condition: ENABLE(WEB_RTC)
  humanReadableName: "WebRTC Encoded Transform API"
  humanReadableDescription: "Enable WebRTC Encoded Transform API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

# 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

WebRTCH265CodecEnabled:
  type: bool
  condition: ENABLE(WEB_RTC)
  humanReadableName: "WebRTC H265 codec"
  humanReadableDescription: "Enable WebRTC H265 codec"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebRTCPlatformTCPSocketsEnabled:
  type: bool
  humanReadableName: "WebRTC Platform TCP Sockets"
  humanReadableDescription: "Enable WebRTC Platform TCP Sockets"
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKit:
      default: true

WebRTCPlatformUDPSocketsEnabled:
  type: bool
  humanReadableName: "WebRTC Platform UDP Sockets"
  humanReadableDescription: "Enable WebRTC Platform UDP Sockets"
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKit:
      default: true

WebRTCSFrameTransformEnabled:
  type: bool
  condition: ENABLE(WEB_RTC)
  humanReadableName: "WebRTC SFrame Transform API"
  humanReadableDescription: "Enable WebRTC SFrame Transform API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebRTCSocketsProxyingEnabled:
  type: bool
  humanReadableName: "WebRTC Sockets Proxying"
  humanReadableDescription: "Enable WebRTC Sockets Proxying"
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

WebRTCVP9Profile0CodecEnabled:
  type: bool
  humanReadableName: "WebRTC VP9 profile 0 codec"
  humanReadableDescription: "Enable WebRTC VP9 profile 0 codec"
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

WebRTCVP9Profile2CodecEnabled:
  type: bool
  humanReadableName: "WebRTC VP9 profile 2 codec"
  humanReadableDescription: "Enable WebRTC VP9 profile 2 codec"
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebShareFileAPIEnabled:
  type: bool
  humanReadableName: "Web Share API Level 2"
  humanReadableDescription: "Enable level 2 of Web Share API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)": true
      default: false
    WebCore:
      default: false

WebXRAugmentedRealityModuleEnabled:
  type: bool
  humanReadableName: "WebXR Augmented Reality Module"
  humanReadableDescription: "Adds support for the WebXR Augmented Reality Module"
  condition: ENABLE(WEBXR)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultWebXREnabled()
    WebKit:
      default: WebKit::defaultWebXREnabled()
    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"
  condition: ENABLE(WEBXR)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultWebXREnabled()
    WebKit:
      default: WebKit::defaultWebXREnabled()
    WebCore:
      default: false

WebXRGamepadsModuleEnabled:
  type: bool
  humanReadableName: "WebXR Gamepads Module"
  humanReadableDescription: "Adds support for the WebXR Gamepads Module"
  condition: ENABLE(WEBXR)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultWebXREnabled()
    WebKit:
      default: WebKit::defaultWebXREnabled()
    WebCore:
      default: false

WebXRHandInputModuleEnabled:
  type: bool
  humanReadableName: "WebXR Hand Input Module"
  humanReadableDescription: "Adds support for the Hands Input Module for WebXR"
  condition: ENABLE(WEBXR_HANDS)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultWebXREnabled()
    WebKit:
      default: WebKit::defaultWebXREnabled()
    WebCore:
      default: false

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
