[iOS] Implement safe browsing in WebKit
[WebKit-https.git] / Source / WebKit / Shared / WebPreferences.yaml
index cfa8b1a..50e946e 100644 (file)
@@ -1,3 +1,11 @@
+BlankAnchorTargetImpliesNoOpenerEnabled:
+   type: bool
+   defaultValue: true
+   webcoreBinding: RuntimeEnabledFeatures
+   humanReadableName: "Blank anchor target implies rel=noopener"
+   humanReadableDescription: "target=_blank on anchor elements implies rel=noopener"
+   category: experimental
+
 JavaScriptEnabled:
   type: bool
   defaultValue: true
@@ -46,6 +54,11 @@ XSSAuditorEnabled:
   type: bool
   defaultValue: true
 
+SafeBrowsingEnabled:
+  type: bool
+  defaultValue: true
+  webcoreBinding: none
+
 PrivateBrowsingEnabled:
   type: bool
   defaultValue: false
@@ -92,13 +105,6 @@ Accelerated2dCanvasEnabled:
   type: bool
   defaultValue: false
 
-CSSAnimationTriggersEnabled:
-  type: bool
-  defaultValue: false
-  webcoreBinding: RuntimeEnabledFeatures
-  webcoreName: animationTriggersEnabled
-  condition: ENABLE(CSS_ANIMATIONS_LEVEL_2)
-
 ForceFTPDirectoryListings:
   type: bool
   defaultValue: false
@@ -432,10 +438,6 @@ ShowsURLsInToolTipsEnabled:
   defaultValue: false
   webcoreName: showsURLsInToolTips
 
-AcceleratedCompositingForOverflowScrollEnabled:
-  type: bool
-  defaultValue: false
-
 HiddenPageDOMTimerThrottlingEnabled:
   type: bool
   defaultValue: DEFAULT_HIDDEN_PAGE_DOM_TIMER_THROTTLING_ENABLED
@@ -450,7 +452,7 @@ HiddenPageCSSAnimationSuspensionEnabled:
 
 LowPowerVideoAudioBufferSizeEnabled:
   type: bool
-  defaultValue: false
+  defaultValue: true
   webcoreBinding: DeprecatedGlobalSettings
 
 ThreadedScrollingEnabled:
@@ -470,6 +472,15 @@ UseGiantTiles:
   type: bool
   defaultValue: false
 
+MediaRecorderEnabled:
+    type: bool
+    defaultValue: false
+    webcoreBinding: RuntimeEnabledFeatures
+    condition: ENABLE(MEDIA_STREAM)
+    humanReadableName: "MediaRecorder"
+    humanReadableDescription: "MediaRecorder"
+    category: experimental
+
 MediaDevicesEnabled:
   type: bool
   defaultValue: false
@@ -486,7 +497,10 @@ ScreenCaptureEnabled:
   type: bool
   defaultValue: false
   webcoreBinding: RuntimeEnabledFeatures
-  condition: ENABLE(MEDIA_STREAM)
+  condition: ENABLE(MEDIA_STREAM) && PLATFORM(MAC)
+  humanReadableName: "ScreenCapture"
+  humanReadableDescription: "Enable ScreenCapture"
+  category: experimental
 
 PeerConnectionEnabled:
   type: bool
@@ -494,6 +508,42 @@ PeerConnectionEnabled:
   webcoreBinding: RuntimeEnabledFeatures
   condition: ENABLE(WEB_RTC)
 
+WebRTCUnifiedPlanEnabled:
+  type: bool
+  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(WEB_RTC)
+  humanReadableName: "WebRTC Unified Plan"
+  humanReadableDescription: "Use WebRTC Unified Plan"
+  category: experimental
+
+WebRTCVP8CodecEnabled:
+  type: bool
+  defaultValue: true
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(WEB_RTC)
+  humanReadableName: "WebRTC VP8 codec"
+  humanReadableDescription: "Enable WebRTC VP8 codec"
+  category: experimental
+
+WebRTCH264SimulcastEnabled:
+  type: bool
+  defaultValue: true
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(WEB_RTC)
+  humanReadableName: "WebRTC H264 Simulcast"
+  humanReadableDescription: "Enable WebRTC H264 Simulcast"
+  category: experimental
+
+WebRTCMDNSICECandidatesEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "WebRTC mDNS ICE candidates"
+  humanReadableDescription: "Enable WebRTC mDNS ICE candidates"
+  webcoreBinding: RuntimeEnabledFeatures
+  category: experimental
+  condition: ENABLE(WEB_RTC)
+
 UseLegacyTextAlignPositionedElementBehavior:
   type: bool
   defaultValue: false
@@ -655,14 +705,6 @@ MediaPreloadingEnabled:
   defaultValue: false
   webcoreBinding: RuntimeEnabledFeatures
 
-IntersectionObserverEnabled:
-  type: bool
-  defaultValue: false
-  humanReadableName: "Intersection Observer"
-  humanReadableDescription: "Enable Intersection Observer support"
-  webcoreBinding: RuntimeEnabledFeatures
-  condition: ENABLE(INTERSECTION_OBSERVER)
-
 InteractiveFormValidationEnabled:
   type: bool
   defaultValue: true
@@ -765,6 +807,13 @@ CustomPasteboardDataEnabled:
   humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API."
   webcoreBinding: RuntimeEnabledFeatures
 
+WebShareEnabled:
+  type: bool
+  defaultValue: DEFAULT_WEB_SHARE_ENABLED
+  humanReadableName: "Web Share"
+  humanReadableDescription: "Enable support for share sheet via Web Share API"
+  webcoreBinding: RuntimeEnabledFeatures
+
 ViewportFitEnabled:
   type: bool
   defaultValue: true
@@ -882,10 +931,13 @@ SystemLayoutDirection:
   defaultValue: 0
   webcoreBinding: custom
 
-FrameFlattening:
-  type: uint32_t
+FrameFlatteningEnabled:
+  type: bool
   defaultValue: DEFAULT_FRAME_FLATTENING
   webcoreBinding: custom
+  humanReadableName: "Frame flattening"
+  humanReadableDescription: "Enable frame flattening, which adjusts the height of an iframe to fit its contents"
+  category: internal
 
 StandardFontFamily:
   type: String
@@ -947,6 +999,10 @@ PassiveTouchListenersAsDefaultOnDocument:
   defaultValue: defaultPassiveTouchListenersAsDefaultOnDocument()
   webcoreName: passiveTouchListenersAsDefaultOnDocument
 
+ShouldIgnoreMetaViewport:
+  type: bool
+  defaultValue: false
+
 # Debug Preferences
 
 AcceleratedDrawingEnabled:
@@ -986,7 +1042,7 @@ DisableScreenSizeOverride:
   type: bool
   defaultValue: false
   category: debug
-  condition: PLATFORM(IOS)
+  condition: PLATFORM(IOS_FAMILY)
 
 SimpleLineLayoutDebugBordersEnabled:
   type: bool
@@ -1008,14 +1064,14 @@ IgnoreViewportScalingConstraints:
   defaultValue: true
   category: debug
   webcoreBinding: none
-  condition: PLATFORM(IOS)
+  condition: PLATFORM(IOS_FAMILY)
 
 ForceAlwaysUserScalable:
   type: bool
   defaultValue: false
   category: debug
   webcoreBinding: none
-  condition: PLATFORM(IOS)
+  condition: PLATFORM(IOS_FAMILY)
 
 ResourceUsageOverlayVisible:
   type: bool
@@ -1039,8 +1095,10 @@ ShouldAllowUserInstalledFonts:
 
 MediaCapabilitiesEnabled:
   type: bool
-  defaultValue: false
-  webcoreBinding: RuntimeEnabledFeatures
+  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
+  humanReadableName: "Media Capabilities API"
+  humanReadableDescription: "Media Capabilities API"
+  category: experimental
 
 SystemPreviewEnabled:
   type: bool
@@ -1057,10 +1115,6 @@ ConstantPropertiesEnabled:
   type: bool
   defaultValue: true
 
-CrossOriginWindowPolicySupportEnabled:
-  type: bool
-  defaultValue: false
-
 SubresourceIntegrityEnabled:
   type: bool
   defaultValue: true
@@ -1084,10 +1138,18 @@ ColorFilterEnabled:
   type: bool
   defaultValue: false
 
+PunchOutWhiteBackgroundsInDarkMode:
+  type: bool
+  defaultValue: false
+
 IncompleteImageBorderEnabled:
   type: bool
   defaultValue: false
 
+ShouldDeferAsynchronousScriptsUntilAfterDocumentLoad:
+  type: bool
+  defaultValue: false
+
 StorageAccessAPIEnabled:
   type: bool
   defaultValue: true
@@ -1107,22 +1169,35 @@ IsSecureContextAttributeEnabled:
   defaultValue: true
   webcoreBinding: RuntimeEnabledFeatures
 
+SourceBufferChangeTypeEnabled:
+  type: bool
+  defaultValue: true
+  condition: ENABLE(MEDIA_SOURCE)
+
+EncryptedMediaAPIEnabled:
+  type: bool
+  defaultValue: true
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(ENCRYPTED_MEDIA)
+
+VideoQualityIncludesDisplayCompositingEnabled:
+  type: bool
+  defaultValue: false
+  condition: ENABLE(VIDEO)
+
+EditableImagesEnabled:
+  type: bool
+  defaultValue: false
+
 # For experimental features:
 # The type should be boolean.
-# You must provide a humanReadableName and humanReadableName for all experimental features. They
+# You must provide a humanReadableName and humanReadableDescription for all experimental features. They
 #   are the text exposed to the user from the WebKit client.
 # The default value may be either false (for unstable features) or
 #   DEFAULT_EXPERIMENTAL_FEATURES_ENABLED (for features that are ready for
 #   wider testing).
 
 
-AsyncFrameScrollingEnabled:
-  type: bool
-  defaultValue: false
-  humanReadableName: "Async Frame Scrolling"
-  humanReadableDescription: "Perform frame scrolling in a dedicated thread or process"
-  category: experimental
-
 SpringTimingFunctionEnabled:
   type: bool
   defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
@@ -1138,47 +1213,35 @@ ImageBitmapOffscreenCanvasEnabled:
   category: experimental
   webcoreBinding: RuntimeEnabledFeatures
 
-WebRTCLegacyAPIEnabled:
+IntersectionObserverEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "Enable Legacy WebRTC API"
-  humanReadableDescription: "Enable Legacy WebRTC API"
+  humanReadableName: "Intersection Observer"
+  humanReadableDescription: "Enable Intersection Observer support"
   webcoreBinding: RuntimeEnabledFeatures
-  condition: ENABLE(WEB_RTC)
+  category: experimental
+  condition: ENABLE(INTERSECTION_OBSERVER)
 
-MDNSICECandidatesEnabled:
+VisualViewportAPIEnabled:
   type: bool
-  defaultValue: false
-  humanReadableName: "Enable MDNS ICE candidates"
-  humanReadableDescription: "Enable MDNS ICE candidates"
-  webcoreBinding: RuntimeEnabledFeatures
+  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
+  humanReadableName: "Visual Viewport API"
+  humanReadableDescription: "Enable Visual Viewport API"
   category: experimental
-  condition: ENABLE(WEB_RTC)
 
-FetchAPIKeepAliveEnabled:
+PointerEventsEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "Fetch API Request KeepAlive"
-  humanReadableDescription: "Enable Fetch API Request KeepAlive"
-  category: experimental
+  humanReadableName: "Pointer Events"
+  humanReadableDescription: "Enable Pointer Events"
   webcoreBinding: RuntimeEnabledFeatures
-  webcoreName: fetchAPIKeepAliveEnabled
-
-ServiceWorkersEnabled:
-  type: bool
-  defaultValue: DEFAULT_SERVICE_WORKERS_ENABLED
-  humanReadableName: "ServiceWorkers"
-  humanReadableDescription: "Enable ServiceWorkers"
   category: experimental
-  webcoreBinding: RuntimeEnabledFeatures
-  webcoreName: serviceWorkerEnabled
-  condition: ENABLE(SERVICE_WORKER)
 
-VisualViewportAPIEnabled:
+CSSOMViewScrollingAPIEnabled:
   type: bool
-  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
-  humanReadableName: "VisualViewportAPI"
-  humanReadableDescription: "Enable Visual Viewport API"
+  defaultValue: false
+  humanReadableName: "CSSOM View Scrolling API"
+  humanReadableDescription: "Implement standard behavior for scrollLeft, scrollTop, scrollWidth, scrollHeight, scrollTo, scrollBy and scrollingElement."
   category: experimental
 
 WebAnimationsEnabled:
@@ -1192,7 +1255,7 @@ WebAnimationsEnabled:
 WebAnimationsCSSIntegrationEnabled:
   type: bool
   defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
-  humanReadableName: "Web Animations and CSS Integration"
+  humanReadableName: "CSS Animations via Web Animations"
   humanReadableDescription: "Expose CSS Animations and CSS Transitions through getAnimations()"
   category: experimental
   webcoreBinding: RuntimeEnabledFeatures
@@ -1210,11 +1273,20 @@ WebGPUEnabled:
   type: bool
   defaultValue: false
   humanReadableName: "WebGPU"
-  humanReadableDescription: "WebGPU prototype"
+  humanReadableDescription: "WebGPU Sketch prototype"
   category: experimental
   webcoreBinding: RuntimeEnabledFeatures
   condition: ENABLE(WEBGPU)
 
+WebMetalEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "WebMetal"
+  humanReadableDescription: "WebMetal prototype"
+  category: experimental
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(WEBMETAL)
+
 AccessibilityObjectModelEnabled:
   type: bool
   defaultValue: false
@@ -1232,40 +1304,113 @@ WebVREnabled:
   category: experimental
   condition: PLATFORM(GTK) || PLATFORM(WPE)
 
-ResourceLoadStatisticsDebugMode:
+ServerTimingEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "ITP Debug Mode"
-  humanReadableDescription: "Intelligent Tracking Prevention Debug Mode"
+  humanReadableName: "Server Timing"
+  humanReadableDescription: "Enable Server Timing API"
   category: experimental
   webcoreBinding: RuntimeEnabledFeatures
+  webcoreName: serverTimingEnabled
 
-WebGLCompressedTextureASTCSupportEnabled:
+CSSCustomPropertiesAndValuesEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "ASTC Texture Support"
-  humanReadableDescription: "Support for ASTC compressed texture formats in WebGL"
+  humanReadableName: "CSS Custom Properties and Values API"
+  humanReadableDescription: "Enable CSS Custom Properties and Values API"
+  webcoreBinding: RuntimeEnabledFeatures
   category: experimental
+
+DarkModeCSSEnabled:
+  type: bool
+  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
+  humanReadableName: "Dark Mode CSS Support"
+  humanReadableDescription: "Enable Dark Mode CSS Support"
   webcoreBinding: RuntimeEnabledFeatures
+  category: experimental
+  condition: ENABLE(DARK_MODE_CSS)
 
-ServerTimingEnabled:
+CSSPaintingAPIEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "Server Timing"
-  humanReadableDescription: "Enable Server Timing API"
+  humanReadableName: "CSS Painting API"
+  humanReadableDescription: "Enable the CSS Painting API"
+  webcoreBinding: RuntimeEnabledFeatures
   category: experimental
+  condition: ENABLE(CSS_PAINTING_API)
+
+WebSQLDisabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "Disable Web SQL"
+  humanReadableDescription: "Disable Web SQL"
   webcoreBinding: RuntimeEnabledFeatures
-  webcoreName: serverTimingEnabled
+  category: experimental
+
+ProcessSwapOnCrossSiteNavigationEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "Swap Processes on Cross-Site Navigation"
+  humanReadableDescription: "Swap WebContent processes on cross-site navigations"
+  category: experimental
+  webcoreBinding: none
+
+# For internal features:
+# The type should be boolean.
+# You must provide a humanReadableName and humanReadableDescription for all debug features. They
+#   are the text exposed to the user from the WebKit client.
 
 ExperimentalPlugInSandboxProfilesEnabled:
   type: bool
   defaultValue: false
   humanReadableName: "Sandbox Plug-Ins"
   humanReadableDescription: "Enable Plug-In sandboxing"
-  category: debug
+  category: internal
   webcoreBinding: RuntimeEnabledFeatures
   webcoreName: experimentalPlugInSandboxProfilesEnabled
 
+ResourceLoadStatisticsDebugMode:
+  type: bool
+  defaultValue: false
+  humanReadableName: "ITP Debug Mode"
+  humanReadableDescription: "Intelligent Tracking Prevention Debug Mode"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+
+ServiceWorkersEnabled:
+  type: bool
+  defaultValue: DEFAULT_SERVICE_WORKERS_ENABLED
+  humanReadableName: "Service Workers"
+  humanReadableDescription: "Enable Service Workers"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+  webcoreName: serviceWorkerEnabled
+  condition: ENABLE(SERVICE_WORKER)
+
+AsyncFrameScrollingEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "Async Frame Scrolling"
+  humanReadableDescription: "Perform frame scrolling in a dedicated thread or process"
+  category: internal
+
+FetchAPIKeepAliveEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "Fetch API Request KeepAlive"
+  humanReadableDescription: "Enable Fetch API Request KeepAlive"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+  webcoreName: fetchAPIKeepAliveEnabled
+
+WebGLCompressedTextureASTCSupportEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "ASTC Texture Support"
+  humanReadableDescription: "Support for ASTC compressed texture formats in WebGL"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+
 FullScreenEnabled:
   type: bool
   defaultValue: false
@@ -1273,22 +1418,46 @@ FullScreenEnabled:
   hidden: EXPERIMENTAL_FULLSCREEN_API_HIDDEN
   humanReadableName: "Fullscreen API"
   humanReadableDescription: "Fullscreen API"
-  category: experimental
+  category: internal
 
-EncryptedMediaAPIEnabled:
+AriaReflectionEnabled:
   type: bool
-  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
-  humanReadableName: "Modern Encrypted Media API"
-  humanReadableDescription: "Modern Encrypted Media API"
+  defaultValue: false
+  humanReadableName: "ARIA Reflection"
+  humanReadableDescription: "ARIA Reflection support"
+  category: internal
   webcoreBinding: RuntimeEnabledFeatures
-  category: experimental
-  condition: ENABLE(ENCRYPTED_MEDIA)
 
-ProcessSwapOnNavigationEnabled:
+WebAPIStatisticsEnabled:
   type: bool
   defaultValue: false
-  humanReadableName: "Swap Processes on Navigation"
-  humanReadableDescription: "Swap WebContent processes on cross-origin navigations"
-  category: experimental
-  webcoreBinding: none
+  humanReadableName: "Web API Statistics"
+  humanReadableDescription: "Enable Web API Statistics"
+  webcoreBinding: RuntimeEnabledFeatures
+  category: internal
 
+SelectionAcrossShadowBoundariesEnabled:
+  type: bool
+  defaultValue: true
+  humanReadableName: "Selection across shadow DOM"
+  humanReadableDescription: "Allow user-initiated selection across shadow DOM boundaries"
+  category: internal
+  webcoreName: selectionAcrossShadowBoundariesEnabled
+
+InputTypeColorEnabled:
+  type: bool
+  defaultValue: DEFAULT_INPUT_TYPE_COLOR_ENABLED
+  humanReadableName: "Color Inputs"
+  humanReadableDescription: "Enable input elements of type color"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(INPUT_TYPE_COLOR)
+
+DataListElementEnabled:
+  type: bool
+  defaultValue: DEFAULT_DATALIST_ELEMENT_ENABLED
+  humanReadableName: "DataList Element"
+  humanReadableDescription: "Enable datalist elements"
+  category: internal
+  webcoreBinding: RuntimeEnabledFeatures
+  condition: ENABLE(DATALIST_ELEMENT)