# Copyright (c) 2020-2022 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 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 AlternateFullScreenControlDesignEnabled: type: bool condition: PLATFORM(IOS_FAMILY) defaultValue: WebKitLegacy: default: false WebKit: "HAVE(UIKIT_WEBKIT_INTERNALS)": true default: false WebCore: default: false AnimatedImageAsyncDecodingEnabled: type: bool defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true AppHighlightsEnabled: type: bool condition: ENABLE(APP_HIGHLIGHTS) defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false AppleMailPaginationQuirkEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: PLATFORM(MAC): WebKit::defaultAppleMailPaginationQuirkEnabled() default: false WebCore: default: false # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings). ApplePayCapabilityDisclosureAllowed: type: bool condition: ENABLE(APPLE_PAY) defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings). ApplePayEnabled: type: bool condition: ENABLE(APPLE_PAY) defaultValue: WebKitLegacy: "ENABLE(APPLE_PAY_REMOTE_UI)": true default: false WebKit: "ENABLE(APPLE_PAY_REMOTE_UI)": true default: false WebCore: "ENABLE(APPLE_PAY_REMOTE_UI)": true default: false AsynchronousSpellCheckingEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false AttachmentElementEnabled: type: bool webcoreBinding: RuntimeEnabledFeatures condition: ENABLE(ATTACHMENT_ELEMENT) defaultValue: WebKitLegacy: default: WebKit::defaultAttachmentElementEnabled() WebKit: default: false AuthorAndUserStylesEnabled: type: bool webKitLegacyPreferenceKey: WebKitAuthorAndUserStylesEnabledPreferenceKey webcoreOnChange: setNeedsRecalcStyleInAllFrames inspectorOverride: true defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true BackspaceKeyNavigationEnabled: type: bool defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": false default: true WebKit: "PLATFORM(IOS_FAMILY)": false default: true WebCore: default: true # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. BeaconAPIEnabled: type: bool humanReadableName: "Beacon API" humanReadableDescription: "Beacon API" defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: false CSSTransformStyleOptimized3DEnabled: type: bool condition: ENABLE(CSS_TRANSFORM_STYLE_OPTIMIZED_3D) defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: true # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely (though we should still set the default value to false when initializing settings). CacheAPIEnabled: type: bool webcoreBinding: RuntimeEnabledFeatures defaultValue: WebKitLegacy: default: false WebKit: default: true CanvasUsesAcceleratedDrawing: type: bool defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)": true default: false WebKit: default: true WebCore: default: false CaretBrowsingEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false ColorFilterEnabled: type: bool webcoreOnChange: setNeedsRecalcStyleInAllFrames defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false # FIXME: This needs a more clear name to explain that it is a CSS related preference. (Maybe we need namespacing? CSS.ConstantPropertiesEnabled?) ConstantPropertiesEnabled: type: bool defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: false ContentChangeObserverEnabled: type: bool condition: ENABLE(CONTENT_CHANGE_OBSERVER) defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: "PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)": true default: false ContentDispositionAttachmentSandboxEnabled: comment: 'Some ports (e.g. iOS) might choose to display attachments inline, regardless of whether the response includes the HTTP header \"Content-Disposition: attachment\". This setting enables a sandbox around these attachments. The sandbox enforces all frame sandbox flags (see enum SandboxFlag in SecurityContext.h), and also disables processing and subframe loading.' type: bool defaultValue: WebKitLegacy: default: true WebKit: PLATFORM(COCOA): true default: false WebCore: default: false # FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead. CookieEnabled: type: bool webKitLegacyBinding: custom defaultValue: WebKit: default: true WebKitLegacy: default: true WebCore: default: true CursiveFontFamily: type: String webKitLegacyPreferenceKey: WebKitCursiveFont webcoreImplementation: custom defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": '"Snell Roundhand"' default: '"Apple Chancery"' WebKit: "PLATFORM(COCOA) && PLATFORM(IOS_FAMILY)": '"Snell Roundhand"' "PLATFORM(COCOA) && !PLATFORM(IOS_FAMILY)": '"Apple Chancery"' default: '"Comic Sans MS"' WebCore: default: '""' CustomPasteboardDataEnabled: type: bool humanReadableName: "Custom pasteboard data" humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API." webcoreBinding: RuntimeEnabledFeatures defaultValue: WebKitLegacy: default: false WebKit: "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WIN)": true default: false DNSPrefetchingEnabled: type: bool webcoreOnChange: dnsPrefetchingEnabledChanged defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false DOMPasteAllowed: type: bool webKitLegacyPreferenceKey: WebKitDOMPasteAllowedPreferenceKey defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false DOMTimersThrottlingEnabled: type: bool webKitLegacyPreferenceKey: WebKitDOMTimersThrottlingEnabledPreferenceKey defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true # FIXME: There is no custom binding implemented for WebKitLegacy. DataDetectorTypes: type: uint32_t webcoreBinding: custom condition: ENABLE(DATA_DETECTION) defaultValue: WebKitLegacy: default: 0 WebKit: default: 0 DataTransferItemsEnabled: type: bool humanReadableName: "Data Transfer Items" humanReadableDescription: "Enables DataTransferItem in the clipboard API" defaultValue: WebKitLegacy: default: true WebKit: "PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)": true default: false WebCore: default: false DatabasesEnabled: type: bool webKitLegacyPreferenceKey: WebKitDatabasesEnabledPreferenceKey webcoreBinding: custom defaultValue: WebKitLegacy: default: true WebKit: default: true DefaultFixedFontSize: type: double webcoreOnChange: setNeedsRecalcStyleInAllFrames defaultValue: WebKitLegacy: default: 13 WebKit: default: 13 WebCore: default: 13 DefaultFontSize: type: double webcoreOnChange: setNeedsRecalcStyleInAllFrames defaultValue: WebKitLegacy: default: 16 WebKit: default: 16 WebCore: default: 16 DefaultTextEncodingName: type: String defaultValue: WebKitLegacy: default: '"ISO-8859-1"' WebKit: default: PAL::defaultTextEncodingNameForSystemLanguage() WebCore: default: '{ }' 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(FrameFlattening::FullyEnabled) default: static_cast(FrameFlattening::Disabled) GStreamerEnabled: type: bool getter: isGStreamerEnabled webcoreBinding: DeprecatedGlobalSettings condition: USE(GSTREAMER) exposed: [ WebKit ] defaultValue: WebKit: default: true GamepadsEnabled: type: bool humanReadableName: "Gamepads" humanReadableDescription: "Web Gamepad API support" condition: ENABLE(GAMEPAD) defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: false HTTPEquivEnabled: type: bool webcoreName: httpEquivEnabled defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true HiddenPageCSSAnimationSuspensionEnabled: type: bool webcoreOnChange: hiddenPageCSSAnimationSuspensionEnabledChanged defaultValue: WebKitLegacy: default: true WebKit: "PLATFORM(COCOA) || PLATFORM(GTK)": true default: false WebCore: default: false HiddenPageDOMTimerThrottlingAutoIncreases: type: bool webcoreOnChange: hiddenPageDOMTimerThrottlingStateChanged defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false HiddenPageDOMTimerThrottlingEnabled: type: bool webcoreOnChange: hiddenPageDOMTimerThrottlingStateChanged defaultValue: WebKitLegacy: default: false WebKit: "PLATFORM(COCOA) || PLATFORM(GTK)": true default: false WebCore: default: false HyperlinkAuditingEnabled: type: bool defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: false ImageControlsEnabled: type: bool condition: ENABLE(SERVICE_CONTROLS) defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false InactiveMediaCaptureSteamRepromptIntervalInMinutes: type: double webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: "PLATFORM(IOS_FAMILY)": 1 default: 10 IncompleteImageBorderEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false IncrementalPDFLoadingEnabled: type: bool condition: HAVE(INCREMENTAL_PDF_APIS) webcoreBinding: RuntimeEnabledFeatures defaultValue: WebKitLegacy: "PLATFORM(MAC)": true default: false WebKit: "PLATFORM(MAC)": true 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 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 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 MediaAudioCodecIDsAllowedInCaptivePortalMode: type: String webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: '"aac ,zaac,qaac,caac,.mp3,mp4a"' MediaCapabilitiesEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: false MediaCaptionFormatTypesAllowedInCaptivePortalMode: type: String webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: '"c608,wvtt"' MediaCodecTypesAllowedInCaptivePortalMode: type: String webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: '"mp4a.40,avc1"' MediaContainerTypesAllowedInCaptivePortalMode: type: String webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: '"video/mp4,audio/mp4,video/x-m4v,audio/x-m4a,audio/mp3,application/x-mpegURL,application/vnd.apple.mpegURL,video/mp2t,video/iso.segment,audio/aac,audio/mpeg,audio/ac3,audio/eac3,video/mpeg2"' 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 MediaVideoCodecIDsAllowedInCaptivePortalMode: type: String webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: '"avc1,zavc,qavc,cavc"' MenuItemElementEnabled: type: bool webcoreBinding: RuntimeEnabledFeatures defaultValue: WebKitLegacy: default: false WebKit: default: false MinimumFontSize: type: double webcoreOnChange: setNeedsRecalcStyleInAllFrames defaultValue: WebKitLegacy: default: 0 WebKit: default: 0 WebCore: default: 0 MinimumLogicalFontSize: type: double webcoreOnChange: setNeedsRecalcStyleInAllFrames defaultValue: WebKitLegacy: default: 9 WebKit: default: 9 WebCore: default: 0 MinimumZoomFontSize: type: double webKitLegacyPreferenceKey: WebKitMinimumZoomFontSizePreferenceKey condition: ENABLE(TEXT_AUTOSIZING) defaultValue: WebKitLegacy: default: 15 WebKit: "PLATFORM(WATCHOS)": 30 default: 15 WebCore: "PLATFORM(WATCHOS)": 30 default: 15 MockCaptureDevicesPromptEnabled: type: bool webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: true MockScrollbarsControllerEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false MockScrollbarsEnabled: type: bool webcoreBinding: DeprecatedGlobalSettings defaultValue: WebKitLegacy: default: false WebKit: default: false NeedsAdobeFrameReloadingQuirk: comment: 'FIXME: This quirk is needed because of Radar 4674537 and 5211271. We need to phase it out once Adobe can fix the bug from their end.' type: bool webcoreGetter: needsAcrobatFrameReloadingQuirk defaultValue: WebKitLegacy: PLATFORM(MAC): WebKit::defaultNeedsAdobeFrameReloadingQuirk() default: false WebKit: default: false WebCore: default: false NeedsFrameNameFallbackToIdQuirk: type: bool defaultValue: WebKitLegacy: PLATFORM(MAC): WebKit::defaultNeedsFrameNameFallbackToIdQuirk() default: false WebKit: default: false WebCore: default: false NeedsKeyboardEventDisambiguationQuirks: comment: This is a quirk we are pro-actively applying to old applications. It changes keyboard event dispatching, making keyIdentifier available on keypress events, making charCode available on keydown/keyup events, and getting keypress dispatched in more cases. type: bool defaultValue: WebKitLegacy: PLATFORM(MAC): WebKit::defaultNeedsKeyboardEventDisambiguationQuirks() default: false WebKit: default: false WebCore: default: false NeedsSiteSpecificQuirks: type: bool webKitLegacyPreferenceKey: WebKitUseSiteSpecificSpoofing inspectorOverride: true defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: false NeedsStorageAccessFromFileURLsQuirk: type: bool defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true NotificationsEnabled: type: bool condition: ENABLE(NOTIFICATIONS) defaultValue: WebKitLegacy: default: true WebKit: default: true WebCore: default: true OfflineWebApplicationCacheEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: WebKit::defaultOfflineWebApplicationCacheEnabled() WebCore: default: false PDFPluginEnabled: type: bool webcoreBinding: none condition: PLATFORM(COCOA) exposed: [ WebKit ] defaultValue: WebKit: default: true PageVisibilityBasedProcessSuppressionEnabled: type: bool webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: true PaginateDuringLayoutEnabled: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false PassiveTouchListenersAsDefaultOnDocument: type: bool defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": WebKit::defaultPassiveTouchListenersAsDefaultOnDocument() default: true WebKit: "PLATFORM(IOS_FAMILY)": WebKit::defaultPassiveTouchListenersAsDefaultOnDocument() default: true WebCore: default: true PasswordEchoDuration: type: double webKitLegacyPreferenceKey: WebKitPasswordEchoDurationPreferenceKey webcoreName: passwordEchoDurationInSeconds defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": 2 default: 1 WebKit: default: 2 WebCore: default: 1 PasswordEchoEnabled: type: bool webKitLegacyPreferenceKey: WebKitEnablePasswordEchoPreferenceKey defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": true default: false WebKit: "PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)": true default: false WebCore: default: false PeerConnectionEnabled: type: bool condition: ENABLE(WEB_RTC) defaultValue: WebKitLegacy: default: true WebKit: "USE(LIBWEBRTC)": WebCore::LibWebRTCProvider::webRTCAvailable() "USE(GSTREAMER_WEBRTC)": true default: false 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(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestForSpeech) default: static_cast(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestAllAround) WebKit: "PLATFORM(COCOA)": static_cast(WebCore::MediaPlayerEnums::PitchCorrectionAlgorithm::BestForSpeech) default: static_cast(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 RequiresPageVisibilityToPlayAudio: type: bool defaultValue: WebKitLegacy: default: false WebKit: default: false WebCore: default: false RequiresUserGestureForAudioPlayback: type: bool webKitLegacyPreferenceKey: WebKitAudioPlaybackRequiresUserGesture webcoreBinding: custom defaultValue: WebKitLegacy: default: false WebKit: "PLATFORM(IOS_FAMILY)": true default: false RequiresUserGestureForMediaPlayback: type: bool webKitLegacyPreferenceKey: WebKitMediaPlaybackRequiresUserGesture webcoreBinding: custom defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": true default: false WebKit: default: false RequiresUserGestureForVideoPlayback: type: bool webKitLegacyPreferenceKey: WebKitVideoPlaybackRequiresUserGesture webcoreBinding: custom defaultValue: WebKitLegacy: default: false WebKit: default: false RequiresUserGestureToLoadVideo: type: bool defaultValue: WebKitLegacy: "PLATFORM(IOS_FAMILY)": WebKit::defaultRequiresUserGestureToLoadVideo() default: false WebKit: default: false WebCore: "PLATFORM(IOS_FAMILY)": true default: false RubberBandingForSubScrollableRegionsEnabled: type: bool condition: HAVE(RUBBER_BANDING) defaultValue: WebKitLegacy: default: false WebKit: default: true WebCore: default: true SafeBrowsingEnabled: type: bool webcoreBinding: none exposed: [ WebKit ] defaultValue: WebKit: default: true SampledPageTopColorMaxDifference: type: double defaultValue: WebKitLegacy: default: 0 WebKit: default: 0 WebCore: default: 0 SampledPageTopColorMinHeight: type: double defaultValue: WebKitLegacy: default: 0 WebKit: default: 0 WebCore: default: 0 SansSerifFontFamily: type: String webKitLegacyPreferenceKey: WebKitSansSerifFont webcoreImplementation: custom defaultValue: WebKitLegacy: default: '"Helvetica"' WebKit: default: '"Helvetica"' WebCore: default: '""' ScrollAnimatorEnabled: type: bool defaultValue: WebKitLegacy: "PLATFORM(MAC)": WebKit::defaultScrollAnimatorEnabled() "PLATFORM(GTK) || PLATFORM(WPE)": true default: false WebKit: "PLATFORM(MAC)": WebKit::defaultScrollAnimatorEnabled() "PLATFORM(GTK) || PLATFORM(WPE)": true default: false WebCore: default: false # FIXME: This is handled via WebView SPI rather than WebPreferences for WebKitLegacy. We should change the SPI to lookup the WebPreferences value instead. SelectTrailingWhitespaceEnabled: type: bool webKitLegacyBinding: custom defaultValue: WebKit: default: false WebKitLegacy: default: false WebCore: default: false 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 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 VP8DecoderEnabled: type: bool webcoreBinding: none condition: ENABLE(VP9) defaultValue: WebKitLegacy: default: true WebKit: default: true VP9DecoderEnabled: type: bool condition: ENABLE(VP9) defaultValue: WebCore: default: false WebKitLegacy: default: true WebKit: default: true 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 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 WebArchiveTestingModeEnabled: type: bool 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 WebMFormatReaderEnabled: type: bool webcoreBinding: RuntimeEnabledFeatures condition: ENABLE(WEBM_FORMAT_READER) defaultValue: WebKit: default: true # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. WebMParserEnabled: type: bool webcoreBinding: RuntimeEnabledFeatures condition: ENABLE(MEDIA_SOURCE) defaultValue: WebKitLegacy: default: true WebKit: default: true 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