# 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

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

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

AsynchronousPluginInitializationEnabledForAllPlugins:
  type: bool
  webcoreBinding: none
  exposed: [ WebKit ]
  defaultValue:
    WebKit:
      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

BackForwardCacheSupportsPlugins:
  type: bool
  webKitLegacyPreferenceKey: WebKitPageCacheSupportsPluginsPreferenceKey
  defaultValue:
    WebKitLegacy:
      default: true
    WebKit:
      default: true
    WebCore:
      default: false

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

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

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

MockScrollAnimatorEnabled:
  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)": true
      default: false
    WebKit:
      "PLATFORM(MAC)": true
      default: false
    WebCore:
      "PLATFORM(MAC)": true
      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

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
