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

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

CFNetworkNetworkLoaderEnabled:
  type: bool
  humanReadableName: "Experimental network loader"
  humanReadableDescription: "Enable experimental network loader"
  webcoreBinding: none
  condition: HAVE(NETWORK_LOADER)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      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

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

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

# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
CSSIndividualTransformPropertiesEnabled:
  type: bool
  humanReadableName: "CSS Individual Transform Properties"
  humanReadableDescription: "Support for the translate, scale and rotate CSS properties"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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

CaptureVideoInGPUProcessEnabled:
  type: bool
  humanReadableName: "GPU Process: Video Capture"
  humanReadableDescription: "Enable video capture in GPU Process"
  webcoreBinding: none
  condition: ENABLE(MEDIA_STREAM)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: WebKit::defaultCaptureVideoInGPUProcessEnabled()

ContactPickerAPIEnabled:
  type: bool
  humanReadableName: "Contact Picker API"
  humanReadableDescription: "Enable the Contact Picker API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CoopCoepViolationReportingEnabled:
  type: bool
  humanReadableName: "COOP and COEP violations reporting"
  humanReadableDescription: "Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy reporting"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CoreImageAcceleratedFilterRenderEnabled:
  type: bool
  webcoreOnChange: setNeedsRelayoutAllFrames
  humanReadableName: "CoreImage-Accelerated Filter Rendering"
  humanReadableDescription: "Accelerated CSS and SVG filter rendering using CoreImage"
  condition: ENABLE(CORE_IMAGE_ACCELERATED_FILTER_RENDER)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

CoreMathMLEnabled:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  humanReadableName: "MathML Core"
  humanReadableDescription: "Disable features removed from the MathML Core spec."
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false
    WebCore:
      default: false

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"
  webKitLegacyPreferenceKey: WebKitDialogElementEnabledPreferenceKey
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

# FIXME: Starting the preference name with "Disable" is inconsistent with most other preferences and should be changed.
DisableMediaExperiencePIDInheritance:
  type: bool
  webcoreBinding: RuntimeEnabledFeatures
  humanReadableName: "Disable Media Experience PID Inheritance"
  humanReadableDescription: "Disable Media Experience PID Inheritance"
  condition: HAVE(CELESTIAL)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

DisallowSyncXHRDuringPageDismissalEnabled:
  type: bool
  humanReadableName: "Disallow sync XHR during page dismissal"
  humanReadableDescription: "Disallow synchronous XMLHttpRequest during page dismissal"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(MAC) || PLATFORM(IOS_FAMILY)": WebKit::defaultDisallowSyncXHRDuringPageDismissalEnabled()
      default: true
    WebCore:
      default: true

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
ExposeSpeakersEnabled:
  type: bool
  humanReadableName: "Allow speaker device selection"
  humanReadableDescription: "Allow speaker device selection"
  condition: ENABLE(MEDIA_STREAM)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

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

HighlightAPIEnabled:
  type: bool
  humanReadableName: "Highlight API"
  humanReadableDescription: "Highlight API support"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
ImageBitmapEnabled:
  type: bool
  humanReadableName: "ImageBitmap"
  humanReadableDescription: "Support for the ImageBitmap APIs"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "ENABLE(EXPERIMENTAL_FEATURES)" : true
      default: 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: false
    WebCore:
      default: false

LinkPrefetchEnabled:
  type: bool
  humanReadableName: "LinkPrefetch"
  humanReadableDescription: "Enable LinkedPrefetch"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

LinkPreloadResponsiveImagesEnabled:
  type: bool
  humanReadableName: "Link preload responsive images"
  humanReadableDescription: "Enable link preload responsive images"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

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:
      "HAVE(AVASSETWRITERDELEGATE)": 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_PLAYLIST)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

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

ModelElementEnabled:
  type: bool
  humanReadableName: "HTML <model> element"
  humanReadableDescription: "HTML <model> element"
  condition: ENABLE(MODEL_ELEMENT)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "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

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

# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
ResizeObserverEnabled:
  type: bool
  humanReadableName: "Resize Observer"
  humanReadableDescription: "Enable Resize Observer support"
  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: 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) && (PLATFORM(GTK) || PLATFORM(WPE))": true
      default: false

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

SyntheticEditingCommandsEnabled:
  type: bool
  humanReadableName: "Synthetic Editing Commands"
  humanReadableDescription: "Enable Synthetic Editing Commands"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

ThirdPartyIframeRedirectBlockingEnabled:
  type: bool
  humanReadableName: "Block top-level redirects by third-party iframes"
  humanReadableDescription: "Block top-level redirects by third-party iframes"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

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

UseGPUProcessForCanvasRenderingEnabled:
  type: bool
  humanReadableName: "GPU Process: Canvas Rendering"
  humanReadableDescription: "Enable canvas rendering in GPU Process"
  webcoreBinding: none
  condition: ENABLE(GPU_PROCESS) && !(PLATFORM(GTK) || PLATFORM(WPE))
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: defaultUseGPUProcessForCanvasRenderingEnabled()

UseGPUProcessForMediaEnabled:
  type: bool
  humanReadableName: "GPU Process: Media"
  humanReadableDescription: "Do all media loading and playback in the GPU Process"
  webcoreBinding: none
  condition: ENABLE(GPU_PROCESS) && !USE(GSTREAMER)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: WebKit::defaultUseGPUProcessForMediaEnabled()

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

# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well.
WebAnimationsMutableTimelinesEnabled:
  type: bool
  humanReadableName: "Web Animations mutable timelines"
  humanReadableDescription: "Support for setting the timeline property of an Animation object"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "ENABLE(EXPERIMENTAL_FEATURES)" : true
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebAuthenticationEnabled:
  type: bool
  humanReadableName: "Web Authentication"
  humanReadableDescription: "Enable Web Authentication support"
  condition: ENABLE(WEB_AUTHN)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebAuthenticationModernEnabled:
  type: bool
  humanReadableName: "Web Authentication Modern"
  humanReadableDescription: "Enable Modern Web Authentication support"
  condition: ENABLE(WEB_AUTHN)
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(IOS)" : true
      default: false
    WebCore:
      default: false

WebGL2Enabled:
  type: bool
  humanReadableName: "WebGL 2.0"
  humanReadableDescription: "WebGL 2 prototype"
  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

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

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCH265CodecEnabled:
  type: bool
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(WEB_RTC)
  humanReadableName: "WebRTC H265 codec"
  humanReadableDescription: "Enable WebRTC H265 codec"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
WebRTCPlatformCodecsInGPUProcessEnabled:
  type: bool
  humanReadableName: "WebRTC Platform Codecs in GPU Process"
  humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process"
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: WebKit::defaultWebRTCCodecsInGPUProcess()
    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"
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true

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

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

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
