blob: 14e82fd92f8f729ed59d60d292826c0d674caa26 [file] [log] [blame]
#
# Copyright (c) 2020 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.
AcceleratedCompositedAnimationsEnabled:
type: bool
webcoreOnChange: setNeedsRecalcStyleInAllFrames
defaultValue:
WebCore:
default: true
AnimatedImageDebugCanvasDrawingEnabled:
type: bool
defaultValue:
WebCore:
default: false
AudioPlaybackRequiresUserGesture:
type: bool
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): true
default: false
AutoscrollForDragAndDropEnabled:
type: bool
defaultValue:
WebCore:
default: false
BackForwardCacheExpirationInterval:
type: double
refinedType: Seconds
defaultValue:
WebCore:
default: 30_min
BackgroundShouldExtendBeyondPage:
type: bool
webcoreOnChange: backgroundShouldExtendBeyondPageChanged
defaultValue:
WebCore:
default: false
ClientCoordinatesRelativeToLayoutViewport:
type: bool
webcoreOnChange: setNeedsRecalcStyleInAllFrames
defaultValue:
WebCore:
default: false
ClipboardAccessPolicy:
type: uint32_t
refinedType: ClipboardAccessPolicy
defaultValue:
WebCore:
default: ClipboardAccessPolicy::RequiresUserGesture
CrossOriginCheckInGetMatchedCSSRulesDisabled:
type: bool
defaultValue:
WebCore:
default: false
DataDetectorTypes:
type: uint32_t
refinedType: DataDetectorType
condition: ENABLE(DATA_DETECTION)
defaultValue:
WebCore:
default: DataDetectorType::None
DefaultVideoPosterURL:
comment: >-
Some apps could have a default video poster if it is not set.
type: String
defaultValue:
WebCore:
default: '{ }'
DisableScreenSizeOverride:
type: bool
defaultValue:
WebCore:
default: false
DownloadableBinaryFontsEnabled:
comment: >-
FIXME: This should really be disabled by default as it makes platforms that don't support the
feature download files they can't use by. Leaving enabled for now to not change existing behavior.
type: bool
defaultValue:
WebCore:
PLATFORM(WATCHOS): false
default: true
EditableLinkBehavior:
type: uint32_t
refinedType: EditableLinkBehavior
defaultValue:
WebCore:
default: EditableLinkBehavior::Default
EditingBehaviorType:
type: uint32_t
refinedType: EditingBehaviorType
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): EditingBehaviorType::iOS
OS(DARWIN): EditingBehaviorType::Mac
OS(WINDOWS): EditingBehaviorType::Windows
OS(UNIX): EditingBehaviorType::Unix
default: EditingBehaviorType::Mac
FixedBackgroundsPaintRelativeToDocument:
type: bool
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): true
default: false
FixedElementsLayoutRelativeToFrame:
type: bool
defaultValue:
WebCore:
default: false
FontFallbackPrefersPictographs:
type: bool
webcoreOnChange: setNeedsRecalcStyleInAllFrames
defaultValue:
WebCore:
default: false
FontLoadTimingOverride:
type: uint32_t
refinedType: FontLoadTimingOverride
defaultValue:
WebCore:
default: FontLoadTimingOverride::None
FontRenderingMode:
type: uint32_t
refinedType: FontRenderingMode
defaultValue:
WebCore:
default: FontRenderingMode::Normal
ForceCompositingMode:
type: bool
defaultValue:
WebCore:
default: false
ForcePendingWebGLPolicy:
type: bool
webcoreGetter: isForcePendingWebGLPolicy
defaultValue:
WebCore:
default: false
ForcedPrefersContrastAccessibilityValue:
type: uint32_t
refinedType: ForcedAccessibilityValue
defaultValue:
WebCore:
default: ForcedAccessibilityValue::System
ForcedColorsAreInvertedAccessibilityValue:
type: uint32_t
refinedType: ForcedAccessibilityValue
defaultValue:
WebCore:
default: ForcedAccessibilityValue::System
ForcedDisplayIsMonochromeAccessibilityValue:
type: uint32_t
refinedType: ForcedAccessibilityValue
defaultValue:
WebCore:
default: ForcedAccessibilityValue::System
ForcedPrefersReducedMotionAccessibilityValue:
type: uint32_t
refinedType: ForcedAccessibilityValue
defaultValue:
WebCore:
default: ForcedAccessibilityValue::System
ForcedSupportsHighDynamicRangeValue:
type: uint32_t
refinedType: ForcedAccessibilityValue
webcoreOnChange: setNeedsRecalcStyleInAllFrames
defaultValue:
WebCore:
default: ForcedAccessibilityValue::System
FrameFlattening:
type: uint32_t
refinedType: FrameFlattening
webcoreOnChange: setNeedsRelayoutAllFrames
defaultValue:
WebCore:
default: FrameFlattening::Disabled
GeolocationFloorLevelEnabled:
type: bool
defaultValue:
WebCore:
default: true
HTMLParserScriptingFlagPolicy:
type: uint32_t
refinedType: HTMLParserScriptingFlagPolicy
defaultValue:
WebCore:
default: HTMLParserScriptingFlagPolicy::OnlyIfScriptIsEnabled
IdempotentModeAutosizingOnlyHonorsPercentages:
type: bool
condition: ENABLE(TEXT_AUTOSIZING)
defaultValue:
WebCore:
default: false
ImageSubsamplingEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): true
default: false
ImagesEnabled:
type: bool
webcoreGetter: areImagesEnabled
webcoreOnChange: imagesEnabledChanged
inspectorOverride: true
defaultValue:
WebCore:
default: true
IsAccessibilityIsolatedTreeEnabled:
type: bool
defaultValue:
WebCore:
default: false
IsPerActivityStateCPUUsageMeasurementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(MAC): true
default: false
IsPostBackgroundingCPUUsageMeasurementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(MAC): true
default: false
IsPostBackgroundingMemoryUsageMeasurementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(MAC): true
default: false
IsPostLoadCPUUsageMeasurementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(COCOA): true
default: false
IsPostLoadMemoryUsageMeasurementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(COCOA): true
default: false
JavaScriptRuntimeFlags:
type: uint32_t
refinedType: JSC::RuntimeFlags
defaultValue:
WebCore:
default: '{ }'
LangAttributeAwareFormControlUIEnabled:
type: bool
defaultValue:
WebCore:
default: false
LocalStorageDatabasePath:
type: String
defaultValue:
WebCore:
default: '{ }'
MaximumAccelerated2dCanvasSize:
type: uint32_t
defaultValue:
WebCore:
default: 5120*2880
MaximumHTMLParserDOMTreeDepth:
type: uint32_t
defaultValue:
WebCore:
default: defaultMaximumHTMLParserDOMTreeDepth
MaximumSourceBufferSize:
comment: >-
Allow SourceBuffers to store up to 304MB each, enough for approximately five minutes
of 1080p video and stereo audio.
type: uint32_t
condition: ENABLE(MEDIA_SOURCE)
defaultValue:
WebCore:
default: 318767104
MediaDeviceIdentifierStorageDirectory:
type: String
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebCore:
default: '{ }'
MediaKeysStorageDirectory:
type: String
defaultValue:
WebCore:
default: '{ }'
MediaTypeOverride:
type: String
webcoreOnChange: mediaTypeOverrideChanged
defaultValue:
WebCore:
default: '"screen"'
MinimumAccelerated2dCanvasSize:
comment: >-
Number of pixels below which 2D canvas is rendered in software
even if hardware acceleration is enabled.
Hardware acceleration is useful for large canvases where it can avoid the
pixel bandwidth between the CPU and GPU. But GPU acceleration comes at
a price - extra back-buffer and texture copy. Small canvases are also
widely used for stylized fonts. Anti-aliasing text in hardware at that
scale is generally slower. So below a certain size it is better to
draw canvas in software.
type: uint32_t
defaultValue:
WebCore:
default: 257*256
NeedsDeferKeyDownAndKeyPressTimersUntilNextEditingCommandQuirk:
comment: >-
This is an iOS-specific quirk. Unlike Mac, keyboard operations are asynchronous and hence a DOM update as
a result of text insertion or deletion does not occur within the same event loop iteration as a dispatched
DOM keydown event. Some sites, notably Google Sheets, schedule timers on keypress and expect on a DOM update
to have occurred on expiration. When enabled, this quirk puts all such scheduled timers in a holding tank
until the keyboard performs the insertion or deletion. This gives Google Sheets the illusion that the DOM
update happened within the same event loop iteration that the keypress event was dispatched in.
type: bool
defaultValue:
WebCore:
default: false
PaymentRequestEnabled:
type: bool
condition: ENABLE(PAYMENT_REQUEST)
defaultValue:
WebCore:
default: false
PitchCorrectionAlgorithm:
type: uint32_t
refinedType: MediaPlayerEnums::PitchCorrectionAlgorithm
defaultValue:
WebCore:
default: MediaPlayerEnums::PitchCorrectionAlgorithm::BestAllAround
PDFImageCachingPolicy:
type: uint32_t
refinedType: PDFImageCachingPolicy
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): PDFImageCachingPolicy::BelowMemoryLimit
default: PDFImageCachingPolicy::Enabled
PreferMIMETypeForImages:
type: bool
defaultValue:
WebCore:
default: false
PreventKeyboardDOMEventDispatch:
type: bool
defaultValue:
WebCore:
default: false
PrivateClickMeasurementFraudPreventionEnabled:
type: bool
defaultValue:
WebCore:
"HAVE(RSA_BSSA)": true
default: false
RepaintOutsideLayoutEnabled:
type: bool
defaultValue:
WebCore:
default: false
ScrollingCoordinatorEnabled:
type: bool
defaultValue:
WebCore:
default: false
ScrollingTreeIncludesFrames:
type: bool
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): true
default: false
SessionStorageQuota:
comment: >-
Allow clients concerned with memory consumption to set a quota on session storage
since the memory used won't be released until the Page is destroyed.
type: uint32_t
defaultValue:
WebCore:
default: 5242880
ShouldDispatchSyntheticMouseEventsWhenModifyingSelection:
type: bool
defaultValue:
WebCore:
default: false
ShouldDispatchSyntheticMouseOutAfterSyntheticClick:
type: bool
defaultValue:
WebCore:
default: false
ShouldIgnoreFontLoadCompletions:
type: bool
defaultValue:
WebCore:
default: false
ShouldInjectUserScriptsInInitialEmptyDocument:
type: bool
defaultValue:
WebCore:
default: false
StorageAccessAPIPerPageScopeEnabled:
type: bool
defaultValue:
WebCore:
default: true
StorageBlockingPolicy:
type: uint32_t
refinedType: StorageBlockingPolicy
webcoreOnChange: storageBlockingPolicyChanged
defaultValue:
WebCore:
default: StorageBlockingPolicy::AllowAll
SystemLayoutDirection:
type: uint32_t
refinedType: TextDirection
defaultValue:
WebCore:
default: TextDirection::LTR
TextAutosizingWindowSizeOverrideHeight:
type: uint32_t
webcoreOnChange: setNeedsRecalcStyleInAllFrames
condition: ENABLE(TEXT_AUTOSIZING)
defaultValue:
WebCore:
default: 0
TextAutosizingWindowSizeOverrideWidth:
type: uint32_t
webcoreOnChange: setNeedsRecalcStyleInAllFrames
condition: ENABLE(TEXT_AUTOSIZING)
defaultValue:
WebCore:
default: 0
TextDirectionSubmenuInclusionBehavior:
type: uint32_t
refinedType: TextDirectionSubmenuInclusionBehavior
defaultValue:
WebCore:
default: TextDirectionSubmenuInclusionBehavior::AutomaticallyIncluded
TimeWithoutMouseMovementBeforeHidingControls:
type: double
refinedType: Seconds
defaultValue:
WebCore:
default: 3_s
TouchEventEmulationEnabled:
type: bool
webcoreGetter: isTouchEventEmulationEnabled
condition: ENABLE(TOUCH_EVENTS)
defaultValue:
WebCore:
default: false
TreatIPAddressAsDomain:
type: bool
defaultValue:
WebCore:
default: false
UnhandledPromiseRejectionToConsoleEnabled:
type: bool
defaultValue:
WebCore:
default: true
UnifiedTextCheckerEnabled:
type: bool
defaultValue:
WebCore:
USE(UNIFIED_TEXT_CHECKING): true
default: false
UseAnonymousModeWhenFetchingMaskImages:
type: bool
defaultValue:
WebCore:
default: true
UserInterfaceDirectionPolicy:
type: uint32_t
refinedType: UserInterfaceDirectionPolicy
defaultValue:
WebCore:
default: UserInterfaceDirectionPolicy::Content
UserStyleSheetLocation:
type: String
refinedType: URL
webcoreOnChange: userStyleSheetLocationChanged
defaultValue:
WebCore:
default: '{ }'
ValidationMessageTimerMagnification:
comment: >-
Sets the magnification value for validation message timer. If the
magnification value is N, a validation message disappears automatically after
message length * N / 1000 seconds. If N is equal to or less than 0, a
validation message doesn't disappears automaticaly.
type: uint32_t
defaultValue:
WebCore:
default: 50
VideoPlaybackRequiresUserGesture:
type: bool
defaultValue:
WebCore:
PLATFORM(IOS_FAMILY): true
default: false
WebGLErrorsToConsoleEnabled:
type: bool
defaultValue:
WebCore:
default: true
WebRTCEncryptionEnabled:
type: bool
inspectorOverride: true
defaultValue:
WebCore:
default: true
WebkitImageReadyEventEnabled:
type: bool
defaultValue:
WebCore:
default: false
YouTubeFlashPluginReplacementEnabled:
type: bool
defaultValue:
WebCore:
PLATFORM(COCOA): true
default: false