blob: 03e44cf23a5f2a02d34a5c45b4061b2468628d0b [file] [log] [blame]
# 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.
# For internal features:
# The type should be boolean.
# They must include a humanReadableName and humanReadableDescription. This is
# the text exposed to the user from the WebKit client.
AcceleratedFiltersEnabled:
type: bool
webcoreOnChange: setNeedsRelayoutAllFrames
humanReadableName: "Accelerated Filter Rendering"
humanReadableDescription: "Accelerated CSS and SVG filter rendering"
condition: USE(CORE_IMAGE)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
AllowViewportShrinkToFitContent:
type: bool
humanReadableName: "Allow Viewport Shrink to Fit Content"
humanReadableDescription: "Allow the viewport shrink to fit content heuristic when appropriate"
condition: PLATFORM(IOS_FAMILY)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: true
AlternateWebMPlayerEnabled:
type: bool
humanReadableName: "Alternate WebM Player"
humanReadableDescription: "Enable Alternate WebM Player"
condition: ENABLE(ALTERNATE_WEBM_PLAYER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
AlwaysZoomOnDoubleTap:
type: bool
humanReadableName: "DTTZ always"
humanReadableDescription: "Double taps zoom, even if we dispatched a click anywhere"
webcoreBinding: none
condition: PLATFORM(IOS_FAMILY)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false
AsyncFrameScrollingEnabled:
type: bool
webcoreOnChange: setNeedsRelayoutAllFrames
humanReadableName: "Async Frame Scrolling"
humanReadableDescription: "Perform frame scrolling off the main thread"
exposed: [ WebKit ]
defaultValue:
WebKitLegacy:
default: false
WebKit:
"USE(NICOSIA)": true
"PLATFORM(COCOA)": true
default: false
WebCore:
default: false
AsyncOverflowScrollingEnabled:
type: bool
webcoreOnChange: setNeedsRelayoutAllFrames
humanReadableName: "Async Overflow Scrolling"
humanReadableDescription: "Perform overflow scrolling off the main thread"
exposed: [ WebKit ]
defaultValue:
WebKitLegacy:
default: false
WebKit:
"USE(NICOSIA)": true
"PLATFORM(COCOA)": true
default: false
WebCore:
default: false
BlockIOKitInWebContentSandbox:
type: bool
humanReadableName: "IOKit blocking in the WebContent sandbox"
humanReadableDescription: "Block IOKit access in the WebContent sandbox"
webcoreBinding: none
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
CSSLogicalEnabled:
type: bool
humanReadableName: "CSS Logical Properties and Values"
humanReadableDescription: "Enable CSS Logical Properties and Values"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
CSSOMViewScrollingAPIEnabled:
type: bool
humanReadableName: "CSSOM View Scrolling API"
humanReadableDescription: "Implement standard behavior for scrollLeft, scrollTop, scrollWidth, scrollHeight, scrollTo, scrollBy and scrollingElement."
defaultValue:
WebKitLegacy:
default: true
WebKit:
"PLATFORM(IOS_FAMILY)": WebKit::defaultCSSOMViewScrollingAPIEnabled()
default: true
WebCore:
default: false
CaptureAudioInGPUProcessEnabled:
type: bool
humanReadableName: "GPU Process: Audio Capture"
humanReadableDescription: "Enable audio capture in GPU Process"
webcoreBinding: none
condition: ENABLE(MEDIA_STREAM)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: WebKit::defaultCaptureAudioInGPUProcessEnabled()
CaptureAudioInUIProcessEnabled:
type: bool
humanReadableName: "Capture audio in UI Process"
humanReadableDescription: "Enable audio capture in UI Process"
webcoreBinding: none
condition: ENABLE(MEDIA_STREAM)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: WebKit::defaultCaptureAudioInUIProcessEnabled()
CaptureVideoInGPUProcessEnabled:
type: bool
humanReadableName: "GPU Process: Video Capture"
humanReadableDescription: "Enable video capture in GPU Process"
webcoreBinding: none
condition: ENABLE(MEDIA_STREAM)
exposed: [ WebKit ]
defaultValue:
WebKit:
"ENABLE(GPU_PROCESS_BY_DEFAULT)": true
default: false
CaptureVideoInUIProcessEnabled:
type: bool
humanReadableName: "Capture video in UI Process"
humanReadableDescription: "Enable video capture in UI Process"
webcoreBinding: none
condition: ENABLE(MEDIA_STREAM)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false
CookieConsentAPIEnabled:
type: bool
humanReadableName: "Cookie Consent API"
humanReadableDescription: "Enable cookie consent API"
exposed: [ WebKit ]
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: false
DOMPasteAccessRequestsEnabled:
type: bool
humanReadableName: "DOM Paste Access Requests"
humanReadableDescription: "Enable DOM Paste Access Requests"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(IOS) || PLATFORM(MAC)": true
default: false
WebCore:
default: false
# FIXME: This is on by default in WebKit2 (for everything but WatchOS). Perhaps we should consider turning it on for WebKitLegacy as well.
DataListElementEnabled:
type: bool
humanReadableName: "DataList Element"
humanReadableDescription: "Enable datalist elements"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(DATALIST_ELEMENT)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(WATCHOS)": false
default: true
# FIXME: This is on by default in WebKit2 (for macOS at least). Perhaps we should consider turning it on for WebKitLegacy as well.
DateTimeInputsEditableComponentsEnabled:
type: bool
humanReadableName: "Date/Time inputs have editable components"
humanReadableDescription: "Enable multiple editable components in date/time inputs"
condition: ENABLE(DATE_AND_TIME_INPUT_TYPES)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(MAC) || PLATFORM(GTK)": true
default: false
WebCore:
default: false
EnterKeyHintEnabled:
type: bool
humanReadableName: "Enter Key Hint"
humanReadableDescription: "Enable the enterKeyHint HTML attribute"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(COCOA)": true
default: false
WebCore:
default: false
EventHandlerDrivenSmoothKeyboardScrollingEnabled:
type: bool
humanReadableName: "EventHandler driven smooth keyboard scrolling"
humanReadableDescription: "Enable EventHandler driven smooth keyboard scrolling"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
FasterClicksEnabled:
type: bool
humanReadableName: "Fast clicks"
humanReadableDescription: "Support faster clicks on zoomable pages"
webcoreBinding: none
condition: PLATFORM(IOS_FAMILY)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
FlexFormattingContextIntegrationEnabled:
type: bool
humanReadableName: "Next-generation flex layout integration (FFC)"
humanReadableDescription: "Enable next-generation flex layout integration (FFC)"
condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This should be reconciled with 'FrameFlattening' in WebPreferences.yaml .
FrameFlatteningEnabled:
type: bool
humanReadableName: "Frame flattening"
humanReadableDescription: "Enable frame flattening, which adjusts the height of an iframe to fit its contents"
webcoreBinding: custom
exposed: [ WebKit ]
defaultValue:
WebKit:
"PLATFORM(IOS_FAMILY)": true
default: false
FullScreenEnabled:
type: bool
humanReadableName: "Fullscreen API"
humanReadableDescription: "Fullscreen API"
condition: ENABLE(FULLSCREEN_API)
hidden: EXPERIMENTAL_FULLSCREEN_API_HIDDEN
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
GetUserMediaRequiresFocus:
type: bool
humanReadableName: "Require focus to start getUserMedia"
humanReadableDescription: "Require focus to start getUserMedia"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
ICECandidateFilteringEnabled:
type: bool
webcoreOnChange: iceCandidateFilteringEnabledChanged
inspectorOverride: true
humanReadableName: "Enable ICE Candidate Filtering"
humanReadableDescription: "Enable ICE Candidate Filtering"
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
IOSFormControlRefreshEnabled:
type: bool
humanReadableName: "iOS Form Control Refresh"
humanReadableDescription: "Enable the new appearance for form controls on iOS"
condition: ENABLE(IOS_FORM_CONTROL_REFRESH)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
IPCTestingAPIEnabled:
type: bool
humanReadableName: "IPC Testing API"
humanReadableDescription: "Enable IPC Testing API for JavaScript"
webcoreBinding: none
condition: ENABLE(IPC_TESTING_API)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false
InlineFormattingContextIntegrationEnabled:
type: bool
humanReadableName: "Next-generation inline layout integration (IFC)"
humanReadableDescription: "Enable next-generation inline layout integration (IFC)"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
InputTypeColorEnabled:
type: bool
humanReadableName: "Color Inputs"
humanReadableDescription: "Enable input elements of type color"
condition: ENABLE(INPUT_TYPE_COLOR)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(WATCHOS)": false
default: true
WebCore:
default: false
InputTypeDateEnabled:
type: bool
humanReadableName: "Date Input"
humanReadableDescription: "Enable input elements of type date"
condition: ENABLE(INPUT_TYPE_DATE)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": true
default: false
WebKit:
"PLATFORM(APPLETV)": false
default: true
WebCore:
default: false
InputTypeDateTimeLocalEnabled:
type: bool
humanReadableName: "datetime-local Inputs"
humanReadableDescription: "Enable input elements of type datetime-local"
condition: ENABLE(INPUT_TYPE_DATETIMELOCAL)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": true
default: false
WebKit:
"PLATFORM(APPLETV)": false
default: true
WebCore:
default: false
InputTypeMonthEnabled:
type: bool
humanReadableName: "Month Input"
humanReadableDescription: "Enable input elements of type month"
condition: ENABLE(INPUT_TYPE_MONTH)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": true
default: false
WebKit:
"!PLATFORM(MAC) && !PLATFORM(APPLETV)": true
default: false
WebCore:
default: false
InputTypeTimeEnabled:
type: bool
humanReadableName: "Time Input"
humanReadableDescription: "Enable input elements of type time"
condition: ENABLE(INPUT_TYPE_TIME)
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": true
default: false
WebKit:
"PLATFORM(APPLETV)": false
default: true
WebCore:
default: false
InputTypeWeekEnabled:
type: bool
humanReadableName: "Week Input"
humanReadableDescription: "Enable input elements of type week"
condition: ENABLE(INPUT_TYPE_WEEK)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"!PLATFORM(MAC) && !PLATFORM(APPLETV)": true
default: false
WebCore:
default: false
InteractionRegionsEnabled:
type: bool
humanReadableName: "Interaction Regions"
humanReadableDescription: "Generate and visualize interaction regions"
condition: ENABLE(INTERACTION_REGIONS_IN_EVENT_REGION)
defaultValue:
WebKit:
default: true
WebKitLegacy:
default: false
WebCore:
default: false
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
IsFirstPartyWebsiteDataRemovalLiveOnTestingEnabled:
type: bool
humanReadableName: "[ITP Live-On] 1 Hour Timeout For Non-Cookie Data Removal"
humanReadableDescription: "Remove all non-cookie website data after just one hour of no user interaction when Intelligent Tracking Prevention is enabled"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
IsFirstPartyWebsiteDataRemovalReproTestingEnabled:
type: bool
humanReadableName: "[ITP Repro] 30 Second Timeout For Non-Cookie Data Removal"
humanReadableDescription: "Remove all non-cookie website data after just 30 seconds of no user interaction when Intelligent Tracking Prevention is enabled"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
LayerBasedSVGEngineEnabled:
type: bool
humanReadableName: "Layer-based SVG Engine (LBSE)"
humanReadableDescription: "Enable next-generation layer-based SVG Engine (LBSE)"
condition: ENABLE(LAYER_BASED_SVG_ENGINE)
webcoreOnChange: layerBasedSVGEngineEnabledChanged
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: false
LayoutFormattingContextEnabled:
type: bool
humanReadableName: "Full next-generation layout (LFC)"
humanReadableDescription: "Enable full next-generation layout (LFC)"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(LAYOUT_FORMATTING_CONTEXT)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
LegacyOverflowScrollingTouchEnabled:
type: bool
webcoreOnChange: setNeedsRelayoutAllFrames
humanReadableName: "Legacy -webkit-overflow-scrolling property"
humanReadableDescription: "Support the legacy -webkit-overflow-scrolling CSS property"
condition: ENABLE(OVERFLOW_SCROLLING_TOUCH)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
LineHeightUnitsEnabled:
type: bool
humanReadableName: "lh / rlh units"
humanReadableDescription: "Enable the lh and lhr units"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
LiveRangeSelectionEnabled:
type: bool
humanReadableName: "Live Ranges in Selection"
humanReadableDescription: "Live range behavior for ranges in the Selection object"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
MediaCaptureRequiresSecureConnection:
type: bool
inspectorOverride: true
humanReadableName: "Limit Media Capture to Secure Sites"
humanReadableDescription: "Limit Media Capture to Secure Sites"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
WebCore:
default: true
MockCaptureDevicesEnabled:
type: bool
webcoreOnChange: mockCaptureDevicesEnabledChanged
inspectorOverride: true
condition: ENABLE(MEDIA_STREAM)
humanReadableName: "Enable Mock Capture Devices"
humanReadableDescription: "Enable Mock Capture Devices"
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(IOS_FAMILY_SIMULATOR)": true
default: false
WebCore:
default: false
MomentumScrollingAnimatorEnabled:
type: bool
humanReadableName: "Momentum Scrolling Animator"
humanReadableDescription: "Generate momentum events in WebKit instead of using those delivered by the system"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
MouseEventsSimulationEnabled:
type: bool
humanReadableName: "Mouse events simulation"
humanReadableDescription: "Enable mouse events dispatch along with touch events on iOS"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(TOUCH_EVENTS)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
MuteCameraOnMicrophoneInterruptionEnabled:
type: bool
humanReadableName: "Mute Camera on Microphone Interruption"
humanReadableDescription: "Mute Camera on Microphone Interruption"
condition: ENABLE(MEDIA_STREAM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(IOS_FAMILY)": true
default: false
WebCore:
default: false
NotificationEventEnabled:
type: bool
humanReadableName: "NotificationEvent support"
humanReadableDescription: "NotificationEvent and ServiceWorkerRegistration.showNotification() support"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(NOTIFICATION_EVENT)
defaultValue:
WebCore:
"ENABLE(NOTIFICATION_EVENT)": true
default: false
WebKit:
"ENABLE(NOTIFICATION_EVENT)": true
default: false
OffscreenCanvasEnabled:
type: bool
humanReadableName: "OffscreenCanvas"
humanReadableDescription: "Support for the OffscreenCanvas APIs"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(OFFSCREEN_CANVAS)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)": true
default: false
OffscreenCanvasInWorkersEnabled:
type: bool
humanReadableName: "OffscreenCanvas in Workers"
humanReadableDescription: "Support for the OffscreenCanvas APIs in Workers"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(OFFSCREEN_CANVAS_IN_WORKERS)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES)": true
default: false
PdfJSViewerEnabled:
type: bool
humanReadableName: "Enable PDF.js viewer"
humanReadableDescription: "Enable PDF.js viewer"
condition: ENABLE(PDFJS)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(GTK) || PLATFORM(WPE)": true
default: false
WebCore:
default: false
PreferFasterClickOverDoubleTap:
type: bool
humanReadableName: "Fast clicks beat DTTZ"
humanReadableDescription: "Prefer a faster click over a double tap"
webcoreBinding: none
condition: PLATFORM(IOS_FAMILY)
exposed: [ WebKit ]
defaultValue:
WebKit:
"PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS)": true
default: false
PreferSandboxedMediaParsing:
type: bool
humanReadableName: "Prefer Sandboxed Parsing of Media"
humanReadableDescription: "Prefer parsing media out-of-process in a sandboxed service"
condition: ENABLE(VIDEO)
defaultValue:
WebCore:
default: true
WebKitLegacy:
default: true
WebKit:
default: true
RemoveBackgroundEnabled:
type: bool
humanReadableName: "Remove Background"
humanReadableDescription: "Enable Remove Background"
condition: ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
exposed: [ WebKit ]
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: defaultRemoveBackgroundEnabled()
ReplayCGDisplayListsIntoBackingStore:
type: bool
humanReadableName: "CG Display Lists: Replay for Testing"
humanReadableDescription: "Replay CG Display Lists into layer contents for testing"
webcoreBinding: none
condition: ENABLE(CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false
ResourceLoadSchedulingEnabled:
type: bool
humanReadableName: "Resource Load Scheduling"
humanReadableDescription: "Network process side priority and visibility based resource load scheduling"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: true
# FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
RestrictedHTTPResponseAccess:
type: bool
humanReadableName: "Filter HTTP Response for Web Processes"
humanReadableDescription: "Enable HTTP Response filtering for Web Processes"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
ScrollingPerformanceTestingEnabled:
type: bool
humanReadableName: "Scroll Performance Testing Enabled"
humanReadableDescription: "Enable behaviors used by scrolling performance tests"
webcoreOnChange: scrollingPerformanceTestingEnabledChanged
exposed: [ WebKit ]
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
SecureContextChecksEnabled:
type: bool
humanReadableName: "Secure Context Checks"
humanReadableDescription: "Allow access to HTTPS-only Web APIs over HTTP"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
SelectionFlippingEnabled:
type: bool
humanReadableName: "Selection Flipping"
humanReadableDescription: "Enable Selection Flipping"
webcoreBinding: none
defaultValue:
WebKit:
default: true
# FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
ServiceWorkersEnabled:
type: bool
humanReadableName: "Service Workers"
humanReadableDescription: "Enable Service Workers"
condition: ENABLE(SERVICE_WORKER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: false
ServiceWorkersUserGestureEnabled:
type: bool
humanReadableName: "Validate UserGesture requirements in Service Workers"
humanReadableDescription: "Validate UserGesture requirements in Service Workers"
condition: ENABLE(SERVICE_WORKER)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
WebCore:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
SpeakerSelectionRequiresUserGesture:
type: bool
humanReadableName: "Require a user gesture for speaker selection"
humanReadableDescription: "Require a user gesture for speaker selection"
condition: ENABLE(MEDIA_STREAM)
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.
TextAutosizingUsesIdempotentMode:
type: bool
webcoreOnChange: textAutosizingUsesIdempotentModeChanged
humanReadableName: "Idempotent Text Autosizing"
humanReadableDescription: "Use idempotent text autosizing mode"
condition: ENABLE(TEXT_AUTOSIZING)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(IOS_FAMILY)": defaultTextAutosizingUsesIdempotentMode()
default: false
WebCore:
default: false
TextRecognitionInVideosEnabled:
type: bool
humanReadableName: "Text Recognition in Videos"
humanReadableDescription: "Enable Text Recognition in Videos"
condition: ENABLE(IMAGE_ANALYSIS)
exposed: [ WebKit ]
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: defaultTextRecognitionInVideosEnabled()
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
UndoManagerAPIEnabled:
type: bool
humanReadableName: "UndoManager DOM API"
humanReadableDescription: "Enable the UndoManager DOM API"
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebCore:
default: false
UpgradeKnownHostsToHTTPSEnabled:
type: bool
humanReadableName: "Upgrade known hosts to HTTPS"
humanReadableDescription: "Upgrade known hosts to HTTPS"
webcoreBinding: none
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
UseARKitForModel:
type: bool
humanReadableName: "Use ARKit for <model>"
humanReadableDescription: "Use ARKit for <model>"
webcoreBinding: none
exposed: [ WebKit ]
condition: ENABLE(ARKIT_INLINE_PREVIEW)
defaultValue:
WebKit:
default: true
UseCGDisplayListsForDOMRendering:
type: bool
humanReadableName: "CG Display Lists: DOM Rendering"
humanReadableDescription: "Use CG Display Lists for DOM rendering"
webcoreBinding: none
condition: ENABLE(CG_DISPLAY_LIST_BACKED_IMAGE_BUFFER)
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
UseGPUProcessForCanvasRenderingEnabled:
type: bool
humanReadableName: "GPU Process: Canvas Rendering"
humanReadableDescription: "Enable canvas rendering in GPU Process"
webcoreBinding: none
condition: ENABLE(GPU_PROCESS) && !(PLATFORM(GTK) || PLATFORM(WPE))
exposed: [ WebKit ]
defaultValue:
WebKit:
"ENABLE(GPU_PROCESS_BY_DEFAULT)": true
"PLATFORM(WIN)": true
default: false
UseGPUProcessForMediaEnabled:
type: bool
humanReadableName: "GPU Process: Media"
humanReadableDescription: "Do all media loading and playback in the GPU Process"
webcoreBinding: none
condition: ENABLE(GPU_PROCESS) && !USE(GSTREAMER)
exposed: [ WebKit ]
defaultValue:
WebKit:
"ENABLE(GPU_PROCESS_BY_DEFAULT)": true
default: false
UseGeneralDirectoryForStorage:
type: bool
humanReadableName: "Use General Directory For Storage"
humanReadableDescription: "Use general storage directory for IndexedDB and LocalStorage"
webcoreBinding: none
exposed: [ WebKit ]
defaultValue:
WebKit:
default: true
UseSceneKitForModel:
type: bool
humanReadableName: "Use SceneKit for <model>"
humanReadableDescription: "Use SceneKit for <model>"
webcoreBinding: none
exposed: [ WebKit ]
condition: HAVE(SCENEKIT)
defaultValue:
WebKit:
default: false
VisualTranslationEnabled:
type: bool
humanReadableName: "Visual Translation"
humanReadableDescription: "Enable Visual Translation"
condition: ENABLE(IMAGE_ANALYSIS)
exposed: [ WebKit ]
defaultValue:
WebCore:
default: false
WebKitLegacy:
default: false
WebKit:
default: defaultVisualTranslationEnabled()
WebAPIStatisticsEnabled:
type: bool
humanReadableName: "Web API Statistics"
humanReadableDescription: "Enable Web API Statistics"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: false
WebRTCAudioLatencyAdaptationEnabled:
type: bool
humanReadableName: "WebRTC Audio Latency Adaptation"
humanReadableDescription: "Enable WebRTC Audio Latency Adaptation"
webcoreBinding: RuntimeEnabledFeatures
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCDTMFEnabled:
type: bool
humanReadableName: "WebRTC DTMF"
humanReadableDescription: "Enable WebRTC DTMF"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCH264HardwareEncoderEnabled:
type: bool
humanReadableName: "WebRTC H264 Hardware encoder"
humanReadableDescription: "Enable H264 Hardware encoder"
webcoreBinding: none
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCH264SimulcastEnabled:
type: bool
humanReadableName: "WebRTC H264 Simulcast"
humanReadableDescription: "Enable WebRTC H264 Simulcast"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: true
WebKit:
default: true
# FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely.
WebRTCMDNSICECandidatesEnabled:
type: bool
humanReadableName: "WebRTC mDNS ICE candidates"
humanReadableDescription: "Enable WebRTC mDNS ICE candidates"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
default: true
# FIXME: This is not relevant for WebKitLegacy, so should be excluded from WebKitLegacy entirely.
WebRTCPlatformCodecsInGPUProcessEnabled:
type: bool
humanReadableName: "GPU Process: WebRTC Platform Codecs"
humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process"
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(GPU_PROCESS_BY_DEFAULT)": true
default: false
WebCore:
default: false
WebRTCRemoteVideoFrameEnabled:
type: bool
humanReadableName: "WebRTC Remote Video Frame"
humanReadableDescription: "Enable WebRTC Remote Video Frame"
condition: ENABLE(WEB_RTC)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"PLATFORM(COCOA)": true
default: false
WebCore:
default: false
WebSQLEnabled:
type: bool
humanReadableName: "Enable WebSQL"
humanReadableDescription: "Enable WebSQL"
webcoreBinding: custom
exposed: [ WebKitLegacy ]
defaultValue:
WebKitLegacy:
"PLATFORM(IOS_FAMILY)": WebKit::defaultWebSQLEnabled()
default: true
ZoomOnDoubleTapWhenRoot:
type: bool
condition: PLATFORM(IOS_FAMILY)
humanReadableName: "DTTZ also when root"
humanReadableDescription: "Double taps zoom, even if we dispatched a click on the root nodes"
webcoreBinding: none
exposed: [ WebKit ]
defaultValue:
WebKit:
default: false