# 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

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

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
