# 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) || PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false
    WebCore:
      "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)": 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

AriaReflectionForElementReferencesEnabled:
  type: bool
  humanReadableName: "ARIA Reflection for Element References"
  humanReadableDescription: "Enable ARIA reflection for attributes that refer to elements"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      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

CSSContainIntrinsicSizeEnabled:
  type: bool
  humanReadableName: "CSS Contain Intrinsic Size"
  humanReadableDescription: "Enable contain-intrinsic-size CSS property"
  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: true
    WebKit:
      default: true
    WebCore:
      default: true

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

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

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

FetchMetadataEnabled:
  type: bool
  humanReadableName: "Fetch Metadata"
  humanReadableDescription: "Enable Fetch Metadata headers"
  defaultValue:
    WebCore:
      default: false
    WebKit:
      default: false
    WebKitLegacy:
      default: false

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

ImageBitmapEnabled:
  type: bool
  humanReadableName: "ImageBitmap"
  humanReadableDescription: "Support for the ImageBitmap APIs"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      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

InertAttributeEnabled:
  type: bool
  humanReadableName: "inert attribute"
  humanReadableDescription: "Enable inert attribute support"
  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.
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_RECORDER)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA)": true
      "USE(GSTREAMER_TRANSCODER)": 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:
      "HAVE(LOW_AV_SAMPLE_BUFFER_PRUNING_INTERVAL)": true
      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: true
    WebKit:
      default: true
    WebCore:
      default: true

OverscrollBehaviorEnabled:
  type: bool
  humanReadableName: "CSS Overscroll Behavior"
  humanReadableDescription: "Enable CSS overscroll-behavior"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE)": false
      default: true
    WebCore:
      "PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE)": false
      default: true

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:
      "PLATFORM(COCOA)" : true
      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"
  defaultValue:
    WebCore:
      default: false
    WebKitLegacy:
      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

ResizeObserverEnabled:
  type: bool
  humanReadableName: "Resize Observer"
  humanReadableDescription: "Enable Resize Observer support"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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

SKAttributionEnabled:
  type: bool
  humanReadableName: "SKAttribution"
  humanReadableDescription: "SKAttribution"
  defaultValue:
    WebCore:
      default: false
    WebKitLegacy:
      default: false
    WebKit:
      default: false

SampleBufferContentKeySessionSupportEnabled:
  type: bool
  humanReadableName: "ContentKeySession support for SampleBuffer Renderers"
  humanReadableDescription: "ContentKeySession support for SampleBuffer Renderers Enabled"
  condition: HAVE(AVCONTENTKEYSPECIFIER)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
# 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)": 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: true

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

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

SubgridEnabled:
  type: bool
  humanReadableName: "CSS subgrid support"
  humanReadableDescription: "Enable CSS subgrid support"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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:
      "ENABLE(GPU_PROCESS_BY_DEFAULT) && PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS) && !HAVE(UIKIT_WEBKIT_INTERNALS)": true
      default: false

UseGPUProcessForDisplayCapture:
  type: bool
  humanReadableName: "GPU Process: Screen and Window capture"
  humanReadableDescription: "Display capture in GPU Process"
  webcoreBinding: none
  condition: HAVE(SC_CONTENT_SHARING_SESSION)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

UseGPUProcessForWebGLEnabled:
  type: bool
  humanReadableName: "GPU Process: WebGL"
  humanReadableDescription: "Process all WebGL operations in GPU Process"
  webcoreBinding: none
  condition: ENABLE(GPU_PROCESS) && ENABLE(WEBGL)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      "ENABLE(GPU_PROCESS_BY_DEFAULT) && PLATFORM(IOS_FAMILY) && !HAVE(UIKIT_WEBKIT_INTERNALS)": true
      "PLATFORM(WIN)": true
      default: false

UserGesturePromisePropagationEnabled:
  type: bool
  humanReadableName: "UserGesture Promise Propagation"
  humanReadableDescription: "UserGesture Promise Propagation"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true

VP9SWDecoderEnabledOnBattery:
  type: bool
  humanReadableName: "VP9 SW decoder on battery"
  humanReadableDescription: "Enable VP9 SW decoder on battery"
  webcoreBinding: none
  condition: ENABLE(VP9)
  defaultValue:
    WebKit:
      default: false

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

WebAnimationsCompositeOperationsEnabled:
  type: bool
  humanReadableName: "Web Animations composite operations"
  humanReadableDescription: "Support for the CompositeOperation enum and properties consuming it"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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

WebAnimationsIterationCompositeEnabled:
  type: bool
  humanReadableName: "Web Animations iteration composite"
  humanReadableDescription: "Support for the KeyframeEffect.iterationComposite property"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebAnimationsMutableTimelinesEnabled:
  type: bool
  humanReadableName: "Web Animations mutable timelines"
  humanReadableDescription: "Support for setting the timeline property of an Animation object"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

WebAssemblyESMIntegrationEnabled:
  type: bool
  humanReadableName: "WebAssembly ES module integration support"
  humanReadableDescription: "Support for allowing WebAssembly modules to integrate as ES modules"
  condition: ENABLE(WEBASSEMBLY)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
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

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

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

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

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

WebXREnabled:
  type: bool
  humanReadableName: "WebXR Device API"
  humanReadableDescription: "Adds support for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays, on the Web"
  condition: ENABLE(WEBXR)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

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