# 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

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

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

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
