# 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.

AVFoundationEnabled:
  type: bool
  getter: isAVFoundationEnabled
  webcoreBinding: DeprecatedGlobalSettings
  condition: USE(AVFOUNDATION)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(WATCHOS)": false
      default: true

AVFoundationNSURLSessionEnabled:
  type: bool
  getter: isAVFoundationNSURLSessionEnabled
  webcoreBinding: DeprecatedGlobalSettings
  condition: USE(AVFOUNDATION)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true

AcceleratedCompositingEnabled:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

AcceleratedCompositingForFixedPositionEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      PLATFORM(IOS_FAMILY): true
      default: false
    WebCore:
      PLATFORM(IOS_FAMILY): true
      default: false

AggressiveTileRetentionEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AllowContentSecurityPolicySourceStarToMatchAnyProtocol:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(IOS_FAMILY): WebKit::defaultAllowContentSecurityPolicySourceStarToMatchAnyProtocol()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AllowCrossOriginSubresourcesToAskForCredentials:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AllowDisplayOfInsecureContent:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultAllowDisplayOfInsecureContent()
    WebKit:
      default: false
    WebCore:
      default: false

AllowFileAccessFromFileURLs:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: true

AllowMediaContentTypesRequiringHardwareSupportAsFallback:
  type: bool
  humanReadableName: "Allow Media Content Types Requirining Hardware As Fallback"
  humanReadableDescription: "Allow Media Content Types Requirining Hardware As Fallback"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(COCOA)": true
      default: false
    WebCore:
      default: false

AllowMultiElementImplicitSubmission:
  type: bool
  webKitLegacyPreferenceKey: WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AllowRunningOfInsecureContent:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultAllowRunningOfInsecureContent()
    WebKit:
      default: false
    WebCore:
      default: false

AllowSettingAnyXHRHeaderFromFileURLs:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AllowTopNavigationToDataURLs:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: false

AllowUniversalAccessFromFileURLs:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: true

AllowsAirPlayForMediaPlayback:
  type: bool
  webKitLegacyPreferenceKey: WebKitMediaPlaybackAllowsAirPlay
  condition: ENABLE(WIRELESS_PLAYBACK_TARGET)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

AllowsInlineMediaPlayback:
  type: bool
  webKitLegacyPreferenceKey: WebKitMediaPlaybackAllowsInline
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultAllowsInlineMediaPlayback()
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      "PLATFORM(IOS_FAMILY)": false
      default: true

AllowsInlineMediaPlaybackAfterFullscreen:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen()
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      default: true

AllowsPictureInPictureMediaPlayback:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultAllowsPictureInPictureMediaPlayback()
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      default: true

AlternateFormControlDesignEnabled:
  type: bool
  condition: PLATFORM(IOS_FAMILY)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AlwaysUseAcceleratedOverflowScroll:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AnimatedImageAsyncDecodingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true
      
AppHighlightsEnabled:
  type: bool
  condition: ENABLE(APP_HIGHLIGHTS)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AppleMailPaginationQuirkEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      PLATFORM(MAC): WebKit::defaultAppleMailPaginationQuirkEnabled()
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
ApplePayCapabilityDisclosureAllowed:
  type: bool
  condition: ENABLE(APPLE_PAY)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
ApplePayEnabled:
  type: bool
  condition: ENABLE(APPLE_PAY)
  defaultValue:
    WebKitLegacy:
      "ENABLE(APPLE_PAY_REMOTE_UI)": true
      default: false
    WebKit:
      "ENABLE(APPLE_PAY_REMOTE_UI)": true
      default: false
    WebCore:
      "ENABLE(APPLE_PAY_REMOTE_UI)": true
      default: false

AsynchronousSpellCheckingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

AttachmentElementEnabled:
  type: bool
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(ATTACHMENT_ELEMENT)
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultAttachmentElementEnabled()
    WebKit:
      default: false

AuthorAndUserStylesEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitAuthorAndUserStylesEnabledPreferenceKey
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  inspectorOverride: true
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

BackspaceKeyNavigationEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      default: true

# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
BeaconAPIEnabled:
  type: bool
  humanReadableName: "Beacon API"
  humanReadableDescription: "Beacon API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

CSSTransformStyleOptimized3DEnabled:
  type: bool
  condition: ENABLE(CSS_TRANSFORM_STYLE_OPTIMIZED_3D)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
CacheAPIEnabled:
  type: bool
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true

CanvasUsesAcceleratedDrawing:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)": true
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

CaretBrowsingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ColorFilterEnabled:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: This needs a more clear name to explain that it is a CSS related preference. (Maybe we need namespacing? CSS.ConstantPropertiesEnabled?)
ConstantPropertiesEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

ContentChangeObserverEnabled:
  type: bool
  condition: ENABLE(CONTENT_CHANGE_OBSERVER)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      "PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)": true
      default: false

ContentDispositionAttachmentSandboxEnabled:
  comment: 'Some ports (e.g. iOS) might choose to display attachments inline, regardless
    of whether the response includes the HTTP header \"Content-Disposition: attachment\".
    This setting enables a sandbox around these attachments. The sandbox enforces
    all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also
    disables <meta http-equiv> processing and subframe loading.'
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      PLATFORM(COCOA): true
      default: false
    WebCore:
      default: false

# FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead.
CookieEnabled:
  type: bool
  webKitLegacyBinding: custom
  defaultValue:
    WebKit:
      default: true
    WebKitLegacy:
      default: true
    WebCore:
      default: true

CursiveFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitCursiveFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": '"Snell Roundhand"'
      default: '"Apple Chancery"'
    WebKit:
      "PLATFORM(COCOA) && PLATFORM(IOS_FAMILY)": '"Snell Roundhand"'
      "PLATFORM(COCOA) && !PLATFORM(IOS_FAMILY)": '"Apple Chancery"'
      default: '"Comic Sans MS"'
    WebCore:
      default: '""'

CustomPasteboardDataEnabled:
  type: bool
  humanReadableName: "Custom pasteboard data"
  humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API."
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WIN)": true
      default: false
  
DNSPrefetchingEnabled:
  type: bool
  webcoreOnChange: dnsPrefetchingEnabledChanged
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

DOMPasteAllowed:
  type: bool
  webKitLegacyPreferenceKey: WebKitDOMPasteAllowedPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

DOMTimersThrottlingEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitDOMTimersThrottlingEnabledPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# FIXME: There is no custom binding implemented for WebKitLegacy.
DataDetectorTypes:
  type: uint32_t
  webcoreBinding: custom
  condition: ENABLE(DATA_DETECTION)
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0

DataTransferItemsEnabled:
  type: bool
  humanReadableName: "Data Transfer Items"
  humanReadableDescription: "Enables DataTransferItem in the clipboard API"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false
    WebCore:
      default: false

DatabasesEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitDatabasesEnabledPreferenceKey
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true

DefaultFixedFontSize:
  type: double
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: 13
    WebKit:
      default: 13
    WebCore:
      default: 13

DefaultFontSize:
  type: double
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: 16
    WebKit:
      default: 16
    WebCore:
      default: 16

DefaultTextEncodingName:
  type: String
  defaultValue:
    WebKitLegacy:
      default: '"ISO-8859-1"'
    WebKit:
      default: PAL::defaultTextEncodingNameForSystemLanguage()
    WebCore:
      default: '{ }'

DeferredCSSParserEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

DeviceHeight:
  type: uint32_t
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0
    WebCore:
      default: 0

DeviceOrientationEventEnabled:
  type: bool
  condition: ENABLE(DEVICE_ORIENTATION)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

DeviceOrientationPermissionAPIEnabled:
  type: bool
  condition: ENABLE(DEVICE_ORIENTATION)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

DeviceWidth:
  type: uint32_t
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0
    WebCore:
      default: 0

DiagnosticLoggingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

DirectoryUploadEnabled:
  type: bool
  humanReadableName: "Directory Upload"
  humanReadableDescription: "input.webkitdirectory / dataTransferItem.webkitGetAsEntry()"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false

DisabledAdaptationsMetaTagEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(WATCHOS)": true
      default: false
    WebCore:
      default: false

# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
DownloadAttributeEnabled:
  type: bool
  condition: ENABLE(DOWNLOAD_ATTRIBUTE)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

EditableLinkBehavior:
  type: uint32_t
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: WebKitEditableLinkDefaultBehavior
    WebKit:
      default: WebCore::EditableLinkBehavior::NeverLive

EnableInheritURIQueryComponent:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

EncryptedMediaAPIEnabled:
  type: bool
  condition: ENABLE(ENCRYPTED_MEDIA)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

EnumeratingAllNetworkInterfacesEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

ExtensibleSSOEnabled:
  type: bool
  getter: isExtensibleSSOEnabled
  webcoreBinding: none
  condition: HAVE(APP_SSO)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

FTPDirectoryTemplatePath:
  type: String
  defaultValue:
    WebKitLegacy:
      default: '""'
    WebKit:
      default: '""'
    WebCore:
      default: '""'

FantasyFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitFantasyFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '"Papyrus"'
    WebKit:
      "PLATFORM(COCOA)": '"Papyrus"'
      default: '"Impact"'
    WebCore:
      default: '""'

FixedFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitFixedFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '"Courier"'
    WebKit:
      "PLATFORM(COCOA)": '"Courier"'
      default: '"Courier New"'
    WebCore:
      default: '""'

ForceCompositingMode:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

ForceFTPDirectoryListings:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ForceWebGLUsesLowPower:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: We should make autogeneration smart enough to deal with enums to avoid explicitly casting in this file and custom binding to WebCore.
# FIXME: This should be reconciled with 'FrameFlatteningEnabled' in WebPreferencesInternal.yaml.
FrameFlattening:
  type: uint32_t
  webcoreBinding: custom
  exposed: [ WebKitLegacy ]
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": static_cast<uint32_t>(FrameFlattening::FullyEnabled)
      default: static_cast<uint32_t>(FrameFlattening::Disabled)

GStreamerEnabled:
  type: bool
  getter: isGStreamerEnabled
  webcoreBinding: DeprecatedGlobalSettings
  condition: USE(GSTREAMER)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

GamepadsEnabled:
  type: bool
  humanReadableName: "Gamepads"
  humanReadableDescription: "Web Gamepad API support"
  condition: ENABLE(GAMEPAD)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

HTTPEquivEnabled:
  type: bool
  webcoreName: httpEquivEnabled
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

HiddenPageCSSAnimationSuspensionEnabled:
  type: bool
  webcoreOnChange: hiddenPageCSSAnimationSuspensionEnabledChanged
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(COCOA) || PLATFORM(GTK)": true
      default: false
    WebCore:
      default: false

HiddenPageDOMTimerThrottlingAutoIncreases:
  type: bool
  webcoreOnChange: hiddenPageDOMTimerThrottlingStateChanged
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

HiddenPageDOMTimerThrottlingEnabled:
  type: bool
  webcoreOnChange: hiddenPageDOMTimerThrottlingStateChanged
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA) || PLATFORM(GTK)": true
      default: false
    WebCore:
      default: false

HyperlinkAuditingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

ImageControlsEnabled:
  type: bool
  condition: ENABLE(SERVICE_CONTROLS)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

InactiveMediaCaptureSteamRepromptIntervalInMinutes:
  type: double
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      "PLATFORM(IOS_FAMILY)": 1
      default: 10

IncompleteImageBorderEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

IncrementalRenderingSuppressionTimeout:
  type: double
  webKitLegacyPreferenceKey: WebKitIncrementalRenderingSuppressionTimeoutInSeconds
  webcoreName: incrementalRenderingSuppressionTimeoutInSeconds
  defaultValue:
    WebKitLegacy:
      default: 5
    WebKit:
      default: 5
    WebCore:
      default: 5

InlineMediaPlaybackRequiresPlaysInlineAttribute:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute()
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      "PLATFORM(IOS_FAMILY)": true
      default: false

InputEventsEnabled:
  type: bool
  humanReadableName: "Input Events"
  humanReadableDescription: "Enable InputEvents support"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

InspectorAdditionsEnabled:
  type: bool
  humanReadableName: "Web Inspector Additions"
  humanReadableDescription: "Enable additional page APIs used by the Web Inspector frontend page"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

InspectorAttachedHeight:
  type: uint32_t
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: 500

InspectorAttachedWidth:
  type: uint32_t
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: 750

InspectorAttachmentSide:
  type: uint32_t
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: 0

InspectorStartsAttached:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

InspectorWindowFrame:
  type: String
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: '""'

# FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead.
InteractiveFormValidationEnabled:
  type: bool
  humanReadableName: "HTML Interactive Form Validation"
  humanReadableDescription: "HTML interactive form validation"
  webKitLegacyBinding: custom
  defaultValue:
    WebKit:
      default: true
    WebKitLegacy:
      default: false
    WebCore:
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
InterruptAudioOnPageVisibilityChangeEnabled:
  type: bool
  condition: ENABLE(MEDIA_STREAM)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: WebCore::RealtimeMediaSourceCenter::shouldInterruptAudioOnPageVisibilityChange()
    WebCore:
      default: false

InvisibleAutoplayNotPermitted:
  type: bool
  webKitLegacyPreferenceKey: InvisibleAutoplayNotPermitted
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      default: false

IsAccessibilityIsolatedTreeEnabled:
  type: bool
  humanReadableName: "Isolated Accessibility Tree Mode"
  humanReadableDescription: "Enable an accessibility hierarchy for VoiceOver that can be accessed on a secondary thread for improved performance"
  webcoreBinding: RuntimeEnabledFeatures
  condition: ENABLE(ACCESSIBILITY_ISOLATED_TREE)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "USE(ATSPI)": true
      default: false
    WebCore:
      default: false

# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
ItpDebugModeEnabled:
  type: bool
  humanReadableName: "ITP Debug Mode"
  humanReadableDescription: "Intelligent Tracking Prevention Debug Mode"
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

JavaEnabled:
  type: bool
  webcoreGetter: isJavaEnabled
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebKit:
      default: false
    WebCore:
      default: false

JavaEnabledForLocalFiles:
  type: bool
  webcoreGetter: isJavaEnabledForLocalFiles
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: true

JavaScriptCanAccessClipboard:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

JavaScriptCanOpenWindowsAutomatically:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultJavaScriptCanOpenWindowsAutomatically()
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      default: false

JavaScriptEnabled:
  type: bool
  inspectorOverride: true
  webcoreGetter: isScriptEnabled
  webcoreName: scriptEnabled
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

# NOTE: Clients should use per-navigation "allowsContentJavaScript" policies instead
JavaScriptMarkupEnabled:
  type: bool
  webcoreName: scriptMarkupEnabled
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

JavaScriptRuntimeFlags:
  type: uint32_t
  webKitLegacyPreferenceKey: WebKitJavaScriptRuntimeFlagsPreferenceKey
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0

LargeImageAsyncDecodingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

LayoutFallbackWidth:
  type: uint32_t
  defaultValue:
    WebKitLegacy:
      default: 980
    WebKit:
      default: 980
    WebCore:
      default: 980

LayoutViewportHeightExpansionFactor:
  type: double
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      "PLATFORM(WATCHOS)": 1
      default: 0
    WebCore:
      default: 0

LegacyEncryptedMediaAPIEnabled:
  type: bool
  humanReadableName: "Enable Legacy EME API"
  humanReadableDescription: "Enable legacy EME API"
  condition: ENABLE(LEGACY_ENCRYPTED_MEDIA)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

LinkPreconnect:
  type: bool
  webcoreName: linkPreconnectEnabled
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "ENABLE(SERVER_PRECONNECT)": true
      default: false
    WebCore:
      default: false

LinkPreloadEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

LoadDeferringEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultLoadDeferringEnabled()
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# This only suppresses the network load of the image URL. A cached image will still be rendered if requested.
LoadsImagesAutomatically:
  type: bool
  webcoreOnChange: imagesEnabledChanged
  webKitLegacyPreferenceKey: WebKitDisplayImagesKey
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

# This preference only affects site icon image loading if the LoadsImagesAutomatically preference is false and
# this preference is true. All other permutations still heed LoadsImagesAutomatically preference.
LoadsSiteIconsIgnoringImageLoadingPreference:
  type: bool
  webKitLegacyPreferenceKey: WebKitLoadSiteIconsKey
  webcoreName: loadsSiteIconsIgnoringImageLoadingSetting
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

LocalFileContentSniffingEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitLocalFileContentSniffingEnabledPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

LocalStorageEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitLocalStorageEnabledPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

LongRunningMediaCaptureStreamRepromptIntervalInHours:
  type: double
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: 24

LowPowerVideoAudioBufferSizeEnabled:
  type: bool
  webcoreBinding: DeprecatedGlobalSettings
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true

MainContentUserGestureOverrideEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

MathMLEnabled:
  type: bool
  condition: ENABLE(MATHML)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

MaxParseDuration:
  type: double
  webKitLegacyPreferenceKey: WebKitMaxParseDurationPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: -1
    WebKit:
      default: -1
    WebCore:
      default: -1

MediaCapabilitiesEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

MediaContentTypesRequiringHardwareSupport:
  type: String
  webcoreExcludeFromInternalSettings: true
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '""'
    WebKit:
      default: '""'
    WebCore:
      default: '""'

MediaControlsContextMenusEnabled:
  type: bool
  condition: ENABLE(MEDIA_CONTROLS_CONTEXT_MENUS)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

MediaControlsScaleWithPageZoom:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      default: true

MediaDataLoadsAutomatically:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      "PLATFORM(IOS_FAMILY)": false
      default: true

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
MediaDevicesEnabled:
  type: bool
  condition: ENABLE(MEDIA_STREAM)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

MediaEnabled:
  type: bool
  condition: ENABLE(VIDEO)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

MediaPreloadingEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

MediaSourceEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      "ENABLE(MEDIA_SOURCE) && PLATFORM(IOS_FAMILY)": WebKit::defaultMediaSourceEnabled()
      "ENABLE(MEDIA_SOURCE) && !PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      "ENABLE(MEDIA_SOURCE) && PLATFORM(IOS_FAMILY)": WebKit::defaultMediaSourceEnabled()
      "ENABLE(MEDIA_SOURCE) && !PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      "ENABLE(MEDIA_SOURCE)": true
      default: false

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
# FIXME: Seems to be unused. Remove once verified.
MediaStreamEnabled:
  type: bool
  condition: ENABLE(MEDIA_STREAM)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

MediaUserGestureInheritsFromDocument:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

MenuItemElementEnabled:
  type: bool
  webcoreBinding: RuntimeEnabledFeatures
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

MinimumFontSize:
  type: double
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0
    WebCore:
      default: 0

MinimumLogicalFontSize:
  type: double
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: 9
    WebKit:
      default: 9
    WebCore:
      default: 0

MinimumZoomFontSize:
  type: double
  webKitLegacyPreferenceKey: WebKitMinimumZoomFontSizePreferenceKey
  condition: ENABLE(TEXT_AUTOSIZING)
  defaultValue:
    WebKitLegacy:
      default: 15
    WebKit:
      "PLATFORM(WATCHOS)": 30
      default: 15
    WebCore:
      "PLATFORM(WATCHOS)": 30
      default: 15

MockCaptureDevicesPromptEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

MockScrollbarsControllerEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

MockScrollbarsEnabled:
  type: bool
  webcoreBinding: DeprecatedGlobalSettings
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

NeedsAdobeFrameReloadingQuirk:
  comment: 'FIXME: This quirk is needed because of Radar 4674537 and 5211271. We need
    to phase it out once Adobe can fix the bug from their end.'
  type: bool
  webcoreGetter: needsAcrobatFrameReloadingQuirk
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultNeedsAdobeFrameReloadingQuirk()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

NeedsFrameNameFallbackToIdQuirk:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultNeedsFrameNameFallbackToIdQuirk()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

NeedsKeyboardEventDisambiguationQuirks:
  comment: This is a quirk we are pro-actively applying to old applications. It changes
    keyboard event dispatching, making keyIdentifier available on keypress events,
    making charCode available on keydown/keyup events, and getting keypress dispatched
    in more cases.
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultNeedsKeyboardEventDisambiguationQuirks()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

NeedsSiteSpecificQuirks:
  type: bool
  webKitLegacyPreferenceKey: WebKitUseSiteSpecificSpoofing
  inspectorOverride: true
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

NeedsStorageAccessFromFileURLsQuirk:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

NotificationsEnabled:
  type: bool
  condition: ENABLE(NOTIFICATIONS)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

OfflineWebApplicationCacheEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: WebKit::defaultOfflineWebApplicationCacheEnabled()
    WebCore:
      default: false

PDFPluginEnabled:
  type: bool
  webcoreBinding: none
  condition: PLATFORM(COCOA)
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

PageVisibilityBasedProcessSuppressionEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

PaginateDuringLayoutEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

PassiveTouchListenersAsDefaultOnDocument:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultPassiveTouchListenersAsDefaultOnDocument()
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultPassiveTouchListenersAsDefaultOnDocument()
      default: true
    WebCore:
      default: true

PasswordEchoDuration:
  type: double
  webKitLegacyPreferenceKey: WebKitPasswordEchoDurationPreferenceKey
  webcoreName: passwordEchoDurationInSeconds
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": 2
      default: 1
    WebKit:
      default: 2
    WebCore:
      default: 1

PasswordEchoEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitEnablePasswordEchoPreferenceKey
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)": true
      default: false
    WebCore:
      default: false

PeerConnectionEnabled:
  type: bool
  condition: ENABLE(WEB_RTC)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: WebCore::LibWebRTCProvider::webRTCAvailable()
    WebCore:
      default: true

PictographFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitPictographFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": '"AppleColorEmoji"'
      default: '"Apple Color Emoji"'
    WebKit:
      "PLATFORM(COCOA) && PLATFORM(IOS_FAMILY)": '"AppleColorEmoji"'
      "PLATFORM(COCOA) && !PLATFORM(IOS_FAMILY)": '"Apple Color Emoji"'
      default: '"Times"'
    WebCore:
      default: '""'

PictureInPictureAPIEnabled:
  type: bool
  condition: ENABLE(PICTURE_IN_PICTURE_API)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

PitchCorrectionAlgorithm:
  type: uint32_t
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      "PLATFORM(COCOA)": static_cast<uint32_t>(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestForSpeech)
      default: static_cast<uint32_t>(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestAllAround)
    WebKit:
      "PLATFORM(COCOA)": static_cast<uint32_t>(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestForSpeech)
      default: static_cast<uint32_t>(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestAllAround)

PluginsEnabled:
  type: bool
  webcoreGetter: arePluginsEnabled
  webcoreOnChange: pluginsEnabledChanged
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: false
    WebCore:
      default: false

PrivateClickMeasurementEnabled:
  type: bool
  humanReadableName: "Private Click Measurement"
  humanReadableDescription: "Enable Private Click Measurement for Cross-Site Link Navigations"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

PunchOutWhiteBackgroundsInDarkMode:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

RequestAnimationFrameEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

RequiresPageVisibilityToPlayAudio:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

RequiresUserGestureForAudioPlayback:
  type: bool
  webKitLegacyPreferenceKey: WebKitAudioPlaybackRequiresUserGesture
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false

RequiresUserGestureForMediaPlayback:
  type: bool
  webKitLegacyPreferenceKey: WebKitMediaPlaybackRequiresUserGesture
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      default: false

RequiresUserGestureForVideoPlayback:
  type: bool
  webKitLegacyPreferenceKey: WebKitVideoPlaybackRequiresUserGesture
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false

RequiresUserGestureToLoadVideo:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": WebKit::defaultRequiresUserGestureToLoadVideo()
      default: false
    WebKit:
      default: false
    WebCore:
      "PLATFORM(IOS_FAMILY)": true
      default: false

RubberBandingForSubScrollableRegionsEnabled:
  type: bool
  condition: HAVE(RUBBER_BANDING)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

SafeBrowsingEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

SampledPageTopColorMaxDifference:
  type: double
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0
    WebCore:
      default: 0

SampledPageTopColorMinHeight:
  type: double
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0
    WebCore:
      default: 0

SansSerifFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitSansSerifFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '"Helvetica"'
    WebKit:
      default: '"Helvetica"'
    WebCore:
      default: '""'

ScrollAnimatorEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(MAC)": WebKit::defaultScrollAnimatorEnabled()
      "PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false
    WebKit:
      "PLATFORM(MAC)": WebKit::defaultScrollAnimatorEnabled()
      "PLATFORM(GTK) || PLATFORM(WPE)": true
      default: false
    WebCore:
      default: false

# FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead.
SelectTrailingWhitespaceEnabled:
  type: bool
  webKitLegacyBinding: custom
  defaultValue:
    WebKit:
      default: false
    WebKitLegacy:
      default: false
    WebCore:
      default: false

SelectionPaintingWithoutSelectionGapsEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

SerifFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitSerifFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '"Times"'
    WebKit:
      default: '"Times"'
    WebCore:
      default: '""'

ServiceControlsEnabled:
  type: bool
  condition: ENABLE(SERVICE_CONTROLS)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ServiceWorkerEntitlementDisabledForTesting:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

ShouldAllowUserInstalledFonts:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

ShouldConvertInvalidURLsToBlank:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultShouldConvertInvalidURLsToBlank()
    WebKit:
      default: true
    WebCore:
      default: true

ShouldConvertPositionStyleOnCopy:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldDecidePolicyBeforeLoadingQuickLookPreview:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldDisplayCaptions:
  type: bool
  condition: ENABLE(VIDEO)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldDisplaySubtitles:
  type: bool
  condition: ENABLE(VIDEO)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldDisplayTextDescriptions:
  type: bool
  condition: ENABLE(VIDEO)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldEnableTextAutosizingBoost:
  type: bool
  webcoreOnChange: shouldEnableTextAutosizingBoostChanged
  condition: ENABLE(TEXT_AUTOSIZING)
  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 (though we should still set the default value to false when initializing settings).
ShouldIgnoreMetaViewport:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShouldPrintBackgrounds:
  type: bool
  webKitLegacyPreferenceKey: WebKitShouldPrintBackgroundsPreferenceKey
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      default: false

ShouldRespectImageOrientation:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      "PLATFORM(IOS_FAMILY)": true
      default: false

ShouldRestrictBaseURLSchemes:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultShouldRestrictBaseURLSchemes()
    WebKit:
      default: false
    WebCore:
      default: true

ShouldSuppressTextInputFromEditingDuringProvisionalNavigation:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
# FIXME: This is not used in WebCore, so should not have a binding to WebCore::Settings.
ShouldUseServiceWorkerShortTimeout:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShowsToolTipOverTruncatedText:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShowsURLsInToolTipsEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitShowsURLsInToolTips
  webcoreName: showsURLsInToolTips
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ShrinksStandaloneImagesToFit:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: true
    WebCore:
      default: true

# FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead.
SmartInsertDeleteEnabled:
  type: bool
  webKitLegacyBinding: custom
  defaultValue:
    WebKit:
      default: true
    WebKitLegacy:
      default: true
    WebCore:
      default: true

SourceBufferChangeTypeEnabled:
  type: bool
  condition: ENABLE(MEDIA_SOURCE)
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

SpatialNavigationEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

Standalone:
  type: bool
  webKitLegacyPreferenceKey: WebKitStandalonePreferenceKey
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

StandardFontFamily:
  type: String
  webKitLegacyPreferenceKey: WebKitStandardFont
  webcoreImplementation: custom
  defaultValue:
    WebKitLegacy:
      default: '"Times"'
    WebKit:
      "PLATFORM(WATCHOS)": '"system-ui"'
      default: '"Times"'
    WebCore:
      default: '""'

StorageAccessAPIEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

StorageBlockingPolicy:
  type: uint32_t
  webcoreOnChange: storageBlockingPolicyChanged
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: WebAllowAllStorage
    WebKit:
      default: WebCore::StorageBlockingPolicy::BlockThirdParty

SubresourceIntegrityEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

SuppressesIncrementalRendering:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: There is no custom binding implemented for WebKitLegacy.
SystemLayoutDirection:
  type: uint32_t
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
SystemPreviewEnabled:
  type: bool
  condition: USE(SYSTEM_PREVIEW)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

TabsToLinks:
  type: bool
  webKitLegacyPreferenceKey: WebKitTabToLinksPreferenceKey
  webcoreBinding: none
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(GTK)": true
      default: false

TelephoneNumberParsingEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitTelephoneParsingEnabledPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

TemporaryTileCohortRetentionEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      default: true

TextAreasAreResizable:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": false
      default: true
    WebCore:
      default: false

TextAutosizingEnabled:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  condition: ENABLE(TEXT_AUTOSIZING)
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebKit:
      "PLATFORM(IOS_FAMILY)": true
      default: false
    WebCore:
      "PLATFORM(IOS_FAMILY)": true
      default: false

TextInteractionEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      "PLATFORM(WATCHOS)": false
      default: true
    WebKit:
      "PLATFORM(WATCHOS)": false
      default: true
    WebCore:
      "PLATFORM(WATCHOS)": false
      default: true

ThreadedScrollingEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: true

TreatsAnyTextCSSLinkAsStylesheet:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultTreatsAnyTextCSSLinkAsStylesheet()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

UseGiantTiles:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

UseImageDocumentForSubframePDF:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(IOS_FAMILY): true
      default: false
    WebKit:
      PLATFORM(IOS_FAMILY): true
      default: false
    WebCore:
      PLATFORM(IOS_FAMILY): true
      default: false

UseLegacyBackgroundSizeShorthandBehavior:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: WebKit::defaultUseLegacyBackgroundSizeShorthandBehavior()
    WebKit:
      default: false
    WebCore:
      default: false

UseLegacyTextAlignPositionedElementBehavior:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

UsePreHTML5ParserQuirks:
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultUsePreHTML5ParserQuirks()
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

# FIXME: There is no custom binding implemented for WebKitLegacy.
UserInterfaceDirectionPolicy:
  type: uint32_t
  webcoreBinding: custom
  defaultValue:
    WebKitLegacy:
      default: 0
    WebKit:
      default: 0

UsesBackForwardCache:
  type: bool
  webcoreOnChange: usesBackForwardCacheChanged
  webcoreExcludeFromInternalSettings: true
  webKitLegacyPreferenceKey: WebKitUsesPageCachePreferenceKey
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

UsesEncodingDetector:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

VideoQualityIncludesDisplayCompositingEnabled:
  type: bool
  condition: ENABLE(VIDEO)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

ViewGestureDebuggingEnabled:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      default: false

ViewportFitEnabled:
  type: bool
  humanReadableName: "Viewport Fit"
  humanReadableDescription: "Enable viewport-fit viewport parameter"
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

VisualViewportEnabled:
  type: bool
  webcoreOnChange: setNeedsRecalcStyleInAllFrames
  defaultValue:
    WebKitLegacy:
      PLATFORM(IOS_FAMILY): false
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

WantsBalancedSetDefersLoadingBehavior:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebArchiveDebugModeEnabled:
  type: bool
  webKitLegacyPreferenceKey: WebKitWebArchiveDebugModeEnabledPreferenceKey
  condition: ENABLE(WEB_ARCHIVE)
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebAudioEnabled:
  type: bool
  condition: ENABLE(WEB_AUDIO)
  defaultValue:
    WebKitLegacy:
      "PLATFORM(IOS)": true
      default: false
    WebKit:
      default: true
    WebCore:
      default: false

WebGLEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

WebGPU:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false

WebSecurityEnabled:
  type: bool
  inspectorOverride: true
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings).
WebShareEnabled:
  type: bool
  humanReadableName: "Web Share"
  humanReadableDescription: "Enable support for share sheet via Web Share API"
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      "PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)": true
      default: false
    WebCore:
      default: false

WindowFocusRestricted:
  comment: When enabled, window.blur() does not change focus, and window.focus() only
    changes focus when invoked from the context that created the window.
  type: bool
  defaultValue:
    WebKitLegacy:
      PLATFORM(MAC): WebKit::defaultWindowFocusRestricted()
      default: true
    WebKit:
      default: true
    WebCore:
      default: true

XSSAuditorEnabled:
  type: bool
  defaultValue:
    WebKitLegacy:
      default: false
    WebKit:
      default: false
    WebCore:
      default: false
