Changeset 267623 in webkit
- Timestamp:
- Sep 26, 2020, 9:34:32 AM (6 years ago)
- Location:
- trunk/Source/WebKitLegacy
- Files:
-
- 9 edited
-
ChangeLog (modified) (1 diff)
-
WebKitLegacy.xcodeproj/project.pbxproj (modified) (1 diff)
-
mac/ChangeLog (modified) (1 diff)
-
mac/Scripts/GeneratePreferences.rb (modified) (10 diffs)
-
mac/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb (modified) (1 diff)
-
mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb (modified) (2 diffs)
-
mac/WebView/WebPreferencesDefaultValues.h (modified) (2 diffs)
-
mac/WebView/WebPreferencesDefaultValues.mm (modified) (1 diff)
-
mac/WebView/WebPreferencesExperimental.yaml (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKitLegacy/ChangeLog
r267575 r267623 1 2020-09-26 Sam Weinig <weinig@apple.com> 2 3 [Preferences] It should be possible to have different default values for WebKitLegacy and WebKit in preference yaml files 4 https://bugs.webkit.org/show_bug.cgi?id=216987 5 6 Reviewed by Darin Adler. 7 8 * WebKitLegacy.xcodeproj/project.pbxproj: 9 Update script phase to explicitly specify the frontend (WebKitLegacy) and the templates to generate. 10 1 11 2020-09-25 Sam Weinig <weinig@apple.com> 2 12 -
trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
r267575 r267623 3469 3469 runOnlyForDeploymentPostprocessing = 0; 3470 3470 shellPath = /bin/sh; 3471 shellScript = "set -e\n\n${SRCROOT}/mac/Scripts/GeneratePreferences.rb -- outputDir ${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitLegacy/ --base ${SRCROOT}/mac/WebView/WebPreferences.yaml --debug ${SRCROOT}/mac/WebView/WebPreferencesDebug.yaml --experimental ${SRCROOT}/mac/WebView/WebPreferencesExperimental.yaml --internal ${SRCROOT}/mac/WebView/WebPreferencesInternal.yaml\n";3471 shellScript = "set -e\n\n${SRCROOT}/mac/Scripts/GeneratePreferences.rb --frontend WebKitLegacy --template WebPreferencesDefinitions.h --template WebPreferencesExperimentalFeatures.mm --template WebViewPreferencesChangedGenerated.mm --outputDir ${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitLegacy/ --base ${SRCROOT}/mac/WebView/WebPreferences.yaml --debug ${SRCROOT}/mac/WebView/WebPreferencesDebug.yaml --experimental ${SRCROOT}/mac/WebView/WebPreferencesExperimental.yaml --internal ${SRCROOT}/mac/WebView/WebPreferencesInternal.yaml\n"; 3472 3472 }; 3473 3473 A13EE61D185AE82700556064 /* Postprocess Headers */ = { -
trunk/Source/WebKitLegacy/mac/ChangeLog
r267592 r267623 1 2020-09-26 Sam Weinig <weinig@apple.com> 2 3 [Preferences] It should be possible to have different default values for WebKitLegacy and WebKit in preference yaml files 4 https://bugs.webkit.org/show_bug.cgi?id=216987 5 6 Reviewed by Darin Adler. 7 8 Add new syntax for default values that allows specializing based on both frontend (WebKit or 9 WebKitLegacy) and then futher based on platform macros. For example, the preference for 10 CSSTypedOMEnabled now looks like: 11 12 CSSTypedOMEnabled: 13 type: bool 14 humanReadableName: "CSS Typed OM" 15 humanReadableDescription: "Enable the CSS Typed OM" 16 webcoreBinding: RuntimeEnabledFeatures 17 condition: ENABLE(CSS_TYPED_OM) 18 defaultValue: 19 WebKitLegacy: 20 default: false 21 WebKit: 22 "ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true 23 default: false 24 25 Which means that in WebKitLegacy, the default value is false, and in WebKit, the default 26 value will be: 27 28 #if ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE)) 29 true 30 #else 31 false 32 #endif 33 34 As many platform macro based conditions can be provided as wanted, and they are evaluated 35 in the order specified in the file. 36 37 The syntax currently always requires explicitly specifying WebKitLegacy and WebKit and default 38 for each, even if they are all the same, but could be extended in the future to allow compaction 39 if that becomes desirable. There is also not yet support for conditionally enabling a feature 40 based on os-feature-flags or linked-on-or-after checks, so those still require specifying the 41 default value as a function, but that seems like a nice future improvement. 42 43 As this is still staging for doing this for both WebKitLegacy and WebKit, this change only effects 44 WebKitLegacy for now, and subsequent changes will move this to a shared location. 45 46 * Scripts/GeneratePreferences.rb: 47 * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb: 48 * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb: 49 * WebView/WebPreferencesExperimental.yaml: 50 1 51 2020-09-25 Antoine Quint <graouts@webkit.org> 2 52 -
trunk/Source/WebKitLegacy/mac/Scripts/GeneratePreferences.rb
r267575 r267623 30 30 31 31 options = { 32 :frontend => nil, 32 33 :basePreferences => nil, 33 34 :debugPreferences => nil, 34 35 :experimentalPreferences => nil, 35 36 :internalPreferences => nil, 36 :outputDirectory => nil 37 :outputDirectory => nil, 38 :templates => [] 37 39 } 38 40 optparse = OptionParser.new do |opts| 39 opts.banner = "Usage: #{File.basename($0)} --input file" 40 41 opts.separator "" 42 43 opts.on("--base input", "file to generate preferences from") { |basePreferences| options[:basePreferences] = basePreferences } 44 opts.on("--debug input", "file to generate debug preferences from") { |debugPreferences| options[:debugPreferences] = debugPreferences } 45 opts.on("--experimental input", "file to generate experimental preferences from") { |experimentalPreferences| options[:experimentalPreferences] = experimentalPreferences } 46 opts.on("--internal input", "file to generate internal preferences from") { |internalPreferences| options[:internalPreferences] = internalPreferences } 47 opts.on("--outputDir output", "directory to generate file in") { |output| options[:outputDirectory] = output } 41 opts.banner = "Usage: #{File.basename($0)} --input file" 42 43 opts.separator "" 44 45 opts.on("--frontend input", "frontend to generate preferences for (WebKit, WebKitLegacy)") { |frontend| options[:frontend] = frontend } 46 opts.on("--base input", "file to generate preferences from") { |basePreferences| options[:basePreferences] = basePreferences } 47 opts.on("--debug input", "file to generate debug preferences from") { |debugPreferences| options[:debugPreferences] = debugPreferences } 48 opts.on("--experimental input", "file to generate experimental preferences from") { |experimentalPreferences| options[:experimentalPreferences] = experimentalPreferences } 49 opts.on("--internal input", "file to generate internal preferences from") { |internalPreferences| options[:internalPreferences] = internalPreferences } 50 opts.on("--template input", "template to use for generation (may be specified multiple times") { |template| options[:templates] << template } 51 opts.on("--outputDir output", "directory to generate file in") { |output| options[:outputDirectory] = output } 48 52 end 49 53 50 54 optparse.parse! 51 55 52 if !options[: basePreferences] || !options[:debugPreferences] || !options[:experimentalPreferences] || !options[:internalPreferences]56 if !options[:frontend] || !options[:basePreferences] || !options[:debugPreferences] || !options[:experimentalPreferences] || !options[:internalPreferences] 53 57 puts optparse 54 58 exit -1 … … 93 97 attr_accessor :name 94 98 attr_accessor :type 95 attr_accessor :defaultValue96 99 attr_accessor :humanReadableName 97 100 attr_accessor :humanReadableDescription … … 99 102 attr_accessor :condition 100 103 attr_accessor :hidden 101 102 def initialize(name, opts) 104 attr_accessor :frontendSpecificDefaultValues 105 106 def initialize(name, opts, frontend) 103 107 @name = name 104 108 @type = opts["type"] 105 @defaultValue = opts["defaultValue"]106 109 @humanReadableName = '"' + (opts["humanReadableName"] || "") + '"' 107 110 @humanReadableDescription = '"' + (opts["humanReadableDescription"] || "") + '"' … … 111 114 @condition = opts["condition"] 112 115 @hidden = opts["hidden"] || false 116 @frontendSpecificDefaultValues = opts["defaultValue"][frontend] 113 117 end 114 118 … … 157 161 attr_accessor :preferences 158 162 159 def initialize(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, outputDirectory )163 def initialize(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, outputDirectory, frontend) 160 164 @outputDirectory = outputDirectory 165 @frontend = frontend 161 166 162 167 @preferences = [] … … 168 173 if parsedBasePreferences 169 174 parsedBasePreferences.each do |name, options| 170 preference = Preference.new(name, options )175 preference = Preference.new(name, options, @frontend) 171 176 @preferences << preference 172 177 @preferencesNotDebug << preference … … 175 180 if parsedDebugPreferences 176 181 parsedDebugPreferences.each do |name, options| 177 preference = Preference.new(name, options )182 preference = Preference.new(name, options, @frontend) 178 183 @preferences << preference 179 184 @preferencesDebug << preference … … 182 187 if parsedExperimentalPreferences 183 188 parsedExperimentalPreferences.each do |name, options| 184 preference = Preference.new(name, options )189 preference = Preference.new(name, options, @frontend) 185 190 @preferences << preference 186 191 @experimentalFeatures << preference … … 189 194 if parsedInternalPreferences 190 195 parsedInternalPreferences.each do |name, options| 191 preference = Preference.new(name, options )196 preference = Preference.new(name, options, @frontend) 192 197 @preferences << preference 193 198 @internalDebugFeatures << preference … … 218 223 end 219 224 220 preferences = Preferences.new(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, options[:outputDirectory]) 221 preferences.renderTemplate("WebPreferencesDefinitions.h") 222 preferences.renderTemplate("WebPreferencesExperimentalFeatures.mm") 223 preferences.renderTemplate("WebViewPreferencesChangedGenerated.mm") 225 preferences = Preferences.new(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, options[:outputDirectory], options[:frontend]) 226 227 options[:templates].each do |template| 228 preferences.renderTemplate(template) 229 end -
trunk/Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb
r267575 r267623 33 33 34 34 <%- for @pref in @experimentalFeatures do -%> 35 <%- if @pref.condition -%>35 <%- if @pref.condition -%> 36 36 #if <%= @pref.condition %> 37 #define INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES_<%= @pref.name %> @(<%= @pref.defaultValue %>), @"WebKit<%= @pref.name %>", 37 <%- end -%> 38 <%- if @pref.frontendSpecificDefaultValues.size() == 1 -%> 39 #define DEFAULT_VALUE_FOR_<%= @pref.name %> <%= @pref.frontendSpecificDefaultValues['default'] %> 40 <%- else -%> 41 <%- @pref.frontendSpecificDefaultValues.each_with_index do |(key, value), index| -%> 42 <%- if index == 0 -%> 43 #if <%= key %> 44 <%- elsif index != @pref.frontendSpecificDefaultValues.size() - 1 -%> 45 #elif <%= key %> 46 <%- else -%> 38 47 #else 39 #define INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES_<%= @pref.name %> @NO, @"WebKit<%= @pref.name %>", 48 <%- end -%> 49 #define DEFAULT_VALUE_FOR_<%= @pref.name %> <%= value %> 50 <%- end -%> 40 51 #endif 41 <% else -%> 42 #define INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES_<%= @pref.name %> @(<%= @pref.defaultValue %>), @"WebKit<%= @pref.name %>", 43 <%- end -%> 52 <%- end -%> 53 <%- if @pref.condition -%> 54 #else 55 #define DEFAULT_VALUE_FOR_<%= @pref.name %> false 56 #endif 57 <%- end -%> 44 58 <%- end -%> 45 59 46 60 #define INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES \ 47 61 <%- for @pref in @experimentalFeatures do -%> 48 INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES_<%= @pref.name %>\62 @(DEFAULT_VALUE_FOR_<%= @pref.name %>), @"WebKit<%= @pref.name %>", \ 49 63 <%- end -%> 50 64 \ -
trunk/Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb
r267575 r267623 29 29 30 30 #import "WebFeatureInternal.h" 31 #import "WebPreferencesDef aultValues.h"31 #import "WebPreferencesDefinitions.h" 32 32 33 33 using namespace WebKit; … … 42 42 #if <%= @pref.condition %> 43 43 <%- end -%> 44 [[WebFeature alloc] initWithKey:@"<%= @pref.name %>" name:@<%= @pref.humanReadableName %> details:@<%= @pref.humanReadableDescription %> defaultValue: <%= @pref.defaultValue %> hidden:<%= @pref.hidden %>],44 [[WebFeature alloc] initWithKey:@"<%= @pref.name %>" name:@<%= @pref.humanReadableName %> details:@<%= @pref.humanReadableDescription %> defaultValue:DEFAULT_VALUE_FOR_<%= @pref.name %> hidden:<%= @pref.hidden %>], 45 45 <%- if @pref.condition -%> 46 46 #endif -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.h
r267575 r267623 28 28 #include <wtf/Forward.h> 29 29 30 #if ENABLE(EXPERIMENTAL_FEATURES)31 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED true32 #else33 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED false34 #endif35 36 30 #if PLATFORM(MAC) 37 31 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED true … … 58 52 #endif 59 53 60 bool defaultVisualViewportAPIEnabled();61 bool defaultModernUnprefixedWebAudioEnabled();62 63 54 } // namespace WebKit -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm
r267575 r267623 94 94 #endif // ENABLE(WEBXR) 95 95 96 bool defaultVisualViewportAPIEnabled()97 {98 #if PLATFORM(IOS_FAMILY)99 return false;100 #else101 return true;102 #endif103 }104 105 bool defaultModernUnprefixedWebAudioEnabled()106 {107 #if PLATFORM(IOS_FAMILY)108 return true;109 #else110 return false;111 #endif112 }113 114 96 } // namespace WebKit -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesExperimental.yaml
r267592 r267623 26 26 # They must include a humanReadableName and humanReadableDescription. This is 27 27 # the text exposed to the user from the WebKit client. 28 # The default value may be either false (for unstable features) or 29 # DEFAULT_EXPERIMENTAL_FEATURES_ENABLED (for features that are ready for 30 # wider testing). 28 29 AccessibilityObjectModelEnabled: 30 type: bool 31 humanReadableName: "Accessibility Object Model" 32 humanReadableDescription: "Accessibility Object Model support" 33 webcoreBinding: RuntimeEnabledFeatures 34 defaultValue: 35 WebKitLegacy: 36 default: false 37 WebKit: 38 default: false 39 40 AdClickAttributionEnabled: 41 type: bool 42 humanReadableName: "Ad Click Attribution" 43 humanReadableDescription: "Enable Ad Click Attribution for Cross-Site Link Navigations" 44 defaultValue: 45 WebKitLegacy: 46 default: false 47 WebKit: 48 default: false 49 50 AdClickAttributionDebugModeEnabled: 51 type: bool 52 humanReadableName: "Ad Click Attribution Debug Mode" 53 humanReadableDescription: "Enable Ad Click Attribution Debug Mode" 54 webcoreBinding: RuntimeEnabledFeatures 55 defaultValue: 56 WebKitLegacy: 57 default: false 58 WebKit: 59 default: false 60 61 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 62 AspectRatioOfImgFromWidthAndHeightEnabled: 63 type: bool 64 humanReadableName: "Aspect ratio of <img> from width and height" 65 humanReadableDescription: "Map HTML attributes width/height to the default aspect ratio of <img>" 66 defaultValue: 67 WebKitLegacy: 68 default: false 69 WebKit: 70 default: true 71 72 # FIXME: This is on by default in WebKit2 PLATFORM(COCOA). Perhaps we should consider turning it on for WebKitLegacy as well. 73 AsyncClipboardAPIEnabled: 74 type: bool 75 humanReadableName: "Async clipboard API" 76 humanReadableDescription: "Enable the async clipboard API" 77 defaultValue: 78 WebKitLegacy: 79 default: false 80 WebKit: 81 "PLATFORM(COCOA)" : true 82 default: false 31 83 32 84 BlankAnchorTargetImpliesNoOpenerEnabled: 33 85 type: bool 34 defaultValue: true35 86 humanReadableName: "Blank anchor target implies rel=noopener" 36 87 humanReadableDescription: "target=_blank on anchor elements implies rel=noopener" 88 defaultValue: 89 WebKitLegacy: 90 default: true 91 WebKit: 92 default: true 93 94 CoreImageAcceleratedFilterRenderEnabled: 95 type: bool 96 humanReadableName: "CoreImage-Accelerated Filter Rendering" 97 humanReadableDescription: "Accelerated CSS and SVG filter rendering using CoreImage" 98 condition: ENABLE(CORE_IMAGE_ACCELERATED_FILTER_RENDER) 99 defaultValue: 100 WebKitLegacy: 101 default: false 102 WebKit: 103 default: false 104 105 CoreMathMLEnabled: 106 type: bool 107 humanReadableName: "MathML Core" 108 humanReadableDescription: "Disable features removed from the MathML Core spec." 109 defaultValue: 110 WebKitLegacy: 111 default: false 112 WebKit: 113 "PLATFORM(GTK) || PLATFORM(WPE)": true 114 default: false 115 116 CSSCustomPropertiesAndValuesEnabled: 117 type: bool 118 humanReadableName: "CSS Custom Properties and Values API" 119 humanReadableDescription: "Enable CSS Custom Properties and Values API" 120 defaultValue: 121 WebKitLegacy: 122 default: false 123 WebKit: 124 default: false 125 126 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 127 CSSIndividualTransformPropertiesEnabled: 128 type: bool 129 humanReadableName: "CSS Individual Transform Properties" 130 humanReadableDescription: "Support for the translate, scale and rotate CSS properties" 131 defaultValue: 132 WebKitLegacy: 133 default: false 134 WebKit: 135 "ENABLE(EXPERIMENTAL_FEATURES)" : true 136 default: false 137 138 CSSOMViewSmoothScrollingEnabled: 139 type: bool 140 humanReadableName: "CSSOM View Smooth Scrolling" 141 humanReadableDescription: "Enable DOM API and CSS property for 'smooth' scroll behavior" 142 defaultValue: 143 WebKitLegacy: 144 default: false 145 WebKit: 146 default: false 147 148 CSSPaintingAPIEnabled: 149 type: bool 150 humanReadableName: "CSS Painting API" 151 humanReadableDescription: "Enable the CSS Painting API" 152 webcoreBinding: RuntimeEnabledFeatures 153 condition: ENABLE(CSS_PAINTING_API) 154 defaultValue: 155 WebKitLegacy: 156 default: false 157 WebKit: 158 "ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true 159 default: false 160 161 CSSTypedOMEnabled: 162 type: bool 163 humanReadableName: "CSS Typed OM" 164 humanReadableDescription: "Enable the CSS Typed OM" 165 webcoreBinding: RuntimeEnabledFeatures 166 condition: ENABLE(CSS_TYPED_OM) 167 defaultValue: 168 WebKitLegacy: 169 default: false 170 WebKit: 171 "ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true 172 default: false 173 174 DialogElementEnabled: 175 type: bool 176 humanReadableName: "Dialog Element" 177 humanReadableDescription: "Enable the Dialog Element" 178 webcoreBinding: RuntimeEnabledFeatures 179 defaultValue: 180 WebKitLegacy: 181 default: false 182 WebKit: 183 default: false 184 185 # FIXME: Starting the preference name with "Disable" is inconsistent with most other preferences and should be changed. 186 DisableMediaExperiencePIDInheritance: 187 type: bool 188 webcoreBinding: RuntimeEnabledFeatures 189 humanReadableName: "Disable Media Experience PID Inheritance" 190 humanReadableDescription: "Disable Media Experience PID Inheritance" 191 condition: HAVE(CELESTIAL) 192 defaultValue: 193 WebKitLegacy: 194 default: false 195 WebKit: 196 default: false 37 197 38 198 DisallowSyncXHRDuringPageDismissalEnabled: 39 199 type: bool 40 defaultValue: true41 200 humanReadableName: "Disallow sync XHR during page dismissal" 42 201 humanReadableDescription: "Disallow synchronous XMLHttpRequest during page dismissal" 43 44 ThirdPartyIframeRedirectBlockingEnabled: 45 type: bool 46 defaultValue: true 47 humanReadableName: "Block top-level redirects by third-party iframes" 48 humanReadableDescription: "Block top-level redirects by third-party iframes" 202 defaultValue: 203 WebKitLegacy: 204 default: true 205 WebKit: 206 default: true 207 208 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 209 ExposeSpeakersEnabled: 210 type: bool 211 humanReadableName: "Allow speaker device selection" 212 humanReadableDescription: "Allow speaker device selection" 213 condition: ENABLE(MEDIA_STREAM) 214 defaultValue: 215 WebKitLegacy: 216 default: false 217 WebKit: 218 default: false 219 220 # FIXME: This seems to be accidentally enabled for WebKit1 right now due to the old code using the 221 # wrong preference key in some places. We should identify whether it really makes sense to keep this 222 # enabled. 223 FetchAPIKeepAliveEnabled: 224 type: bool 225 humanReadableName: "Fetch API Request KeepAlive" 226 humanReadableDescription: "Enable Fetch API Request KeepAlive" 227 webcoreBinding: RuntimeEnabledFeatures 228 defaultValue: 229 WebKitLegacy: 230 default: true 231 WebKit: 232 default: true 233 234 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 235 GenericCueAPIEnabled: 236 type: bool 237 condition: ENABLE(VIDEO) 238 humanReadableName: "Generic Text Track Cue API" 239 humanReadableDescription: "Enable Generic Text Track Cue API" 240 defaultValue: 241 WebKitLegacy: 242 default: false 243 WebKit: 244 default: true 49 245 50 246 GoogleAntiFlickerOptimizationQuirkEnabled: 51 247 type: bool 52 defaultValue: true53 248 humanReadableName: "Quirk to prevent delayed initial painting on sites using Google's Anti-Flicker optimization" 54 249 humanReadableDescription: "Quirk to prevent delayed initial painting on sites using Google's Anti-Flicker optimization" 55 56 UserGesturePromisePropagationEnabled: 57 type: bool 58 defaultValue: true 59 webcoreBinding: RuntimeEnabledFeatures 60 humanReadableName: "UserGesture Promise Propagation" 61 humanReadableDescription: "UserGesture Promise Propagation" 62 63 ModernUnprefixedWebAudioEnabled: 64 type: bool 65 defaultValue: WebKit::defaultModernUnprefixedWebAudioEnabled() 66 condition: ENABLE(WEB_AUDIO) 67 humanReadableName: "Modern WebAudio API" 68 humanReadableDescription: "Modern and unprefixed WebAudio API" 69 70 RequestIdleCallbackEnabled: 71 type: bool 72 defaultValue: false 73 humanReadableName: "requestIdleCallback" 74 humanReadableDescription: "Enable requestIdleCallback support" 250 defaultValue: 251 WebKitLegacy: 252 default: true 253 WebKit: 254 default: true 75 255 76 256 HighlightAPIEnabled: 77 257 type: bool 78 defaultValue: false79 258 humanReadableName: "Highlight API" 80 259 humanReadableDescription: "Highlight API support" 81 260 webcoreBinding: RuntimeEnabledFeatures 261 defaultValue: 262 WebKitLegacy: 263 default: false 264 WebKit: 265 default: false 82 266 83 267 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 84 PaintTimingEnabled: 85 type: bool 86 defaultValue: false 87 humanReadableName: "Paint Timing" 88 humanReadableDescription: "Enable PaintTiming API" 89 webcoreBinding: RuntimeEnabledFeatures 90 91 AsyncClipboardAPIEnabled: 92 type: bool 93 defaultValue: false 94 humanReadableName: "Async clipboard API" 95 humanReadableDescription: "Enable the async clipboard API" 96 97 ShouldDeferAsynchronousScriptsUntilAfterDocumentLoadOrFirstPaint: 98 type: bool 99 defaultValue: true 100 humanReadableName: "Defer async scripts until DOMContentLoaded or first-paint" 101 humanReadableDescription: "Defer async scripts until DOMContentLoaded or first-paint" 102 103 # FIXME: This is set to DEFAULT_EXPERIMENTAL_FEATURES_ENABLED in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 104 SpringTimingFunctionEnabled: 105 type: bool 106 defaultValue: false 107 humanReadableName: "CSS Spring Animations" 108 humanReadableDescription: "CSS Spring Animation prototype" 109 110 # FIXME: This is set to DEFAULT_EXPERIMENTAL_FEATURES_ENABLED in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 268 HDRMediaCapabilitiesEnabled: 269 type: bool 270 humanReadableName: "HDR Media Capabilities" 271 humanReadableDescription: "HDR Media Capabilities" 272 defaultValue: 273 WebKitLegacy: 274 default: false 275 WebKit: 276 default: true 277 278 # FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 279 HTTP3Enabled: 280 type: bool 281 humanReadableName: "HTTP/3" 282 humanReadableDescription: "Enable HTTP/3" 283 webcoreBinding: none 284 condition: HAVE(CFNETWORK_ALTERNATIVE_SERVICE) 285 defaultValue: 286 WebKitLegacy: 287 default: false 288 WebKit: 289 default: false 290 291 # FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 292 HTTPSUpgradeEnabled: 293 type: bool 294 humanReadableName: "Automatic HTTPS upgrade" 295 humanReadableDescription: "Automatic HTTPS upgrade for known supported sites" 296 defaultValue: 297 WebKitLegacy: 298 default: false 299 WebKit: 300 default: false 301 302 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 111 303 ImageBitmapEnabled: 112 304 type: bool 113 defaultValue: true114 305 humanReadableName: "ImageBitmap" 115 306 humanReadableDescription: "Support for the ImageBitmap APIs" 116 307 webcoreBinding: RuntimeEnabledFeatures 308 defaultValue: 309 WebKitLegacy: 310 default: true 311 WebKit: 312 "ENABLE(EXPERIMENTAL_FEATURES)" : true 313 default: false 314 315 IncrementalPDFLoadingEnabled: 316 type: bool 317 humanReadableName: "Incremental PDF Loading" 318 humanReadableDescription: "Enable Incremental PDF Loading on supported platforms" 319 condition: HAVE(INCREMENTAL_PDF_APIS) 320 webcoreBinding: RuntimeEnabledFeatures 321 defaultValue: 322 WebKitLegacy: 323 default: WebKit::defaultIncrementalPDFEnabled() 324 WebKit: 325 default: WebKit::defaultIncrementalPDFEnabled() 117 326 118 327 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 119 328 IntersectionObserverEnabled: 120 329 type: bool 121 defaultValue: false122 330 humanReadableName: "Intersection Observer" 123 331 humanReadableDescription: "Enable Intersection Observer support" 124 332 condition: ENABLE(INTERSECTION_OBSERVER) 333 defaultValue: 334 WebKitLegacy: 335 default: false 336 WebKit: 337 default: true 338 339 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 340 InProcessCookieCacheEnabled: 341 type: bool 342 humanReadableName: "In-Process Cookie Cache" 343 humanReadableDescription: "In-Process DOM Cookie Cache" 344 defaultValue: 345 WebKitLegacy: 346 default: true 347 WebKit: 348 default: true 349 350 # FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed. 351 IsFirstPartyWebsiteDataRemovalDisabled: 352 type: bool 353 humanReadableName: "Disable Removal of Non-Cookie Data After 7 Days of No User Interaction (ITP)" 354 humanReadableDescription: "Disable removal of all non-cookie website data after seven days of no user interaction when Intelligent Tracking Prevention is enabled" 355 defaultValue: 356 WebKitLegacy: 357 default: false 358 WebKit: 359 default: false 360 361 # FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed. 362 IsLoggedInAPIEnabled: 363 type: bool 364 humanReadableName: "IsLoggedIn web API" 365 humanReadableDescription: "Enable the proposed IsLoggedIn web API" 366 defaultValue: 367 WebKitLegacy: 368 default: false 369 WebKit: 370 default: false 371 372 # FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed. 373 # FIXME: This is not implemented for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 374 IsNSURLSessionWebSocketEnabled: 375 type: bool 376 humanReadableName: "NSURLSession WebSocket" 377 humanReadableDescription: "Use NSURLSession WebSocket API" 378 webcoreBinding: RuntimeEnabledFeatures 379 condition: HAVE(NSURLSESSION_WEBSOCKET) 380 defaultValue: 381 WebKitLegacy: 382 default: false 383 WebKit: 384 default: false 385 386 # FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed. 387 IsSameSiteStrictEnforcementEnabled: 388 type: bool 389 humanReadableName: "SameSite strict enforcement (ITP)" 390 humanReadableDescription: "Enable SameSite strict enforcement to mitigate bounce tracking" 391 defaultValue: 392 WebKitLegacy: 393 default: false 394 WebKit: 395 default: false 396 397 # FIXME: The 'Is' prefix is inconsistent with most other preferences and should be removed. 398 IsThirdPartyCookieBlockingDisabled: 399 type: bool 400 humanReadableName: "Disable Full 3rd-Party Cookie Blocking (ITP)" 401 humanReadableDescription: "Disable full third-party cookie blocking when Intelligent Tracking Prevention is enabled" 402 defaultValue: 403 WebKitLegacy: 404 default: false 405 WebKit: 406 default: false 407 408 LazyIframeLoadingEnabled: 409 type: bool 410 humanReadableName: "Lazy iframe loading" 411 humanReadableDescription: "Enable lazy iframe loading support" 412 defaultValue: 413 WebKitLegacy: 414 default: false 415 WebKit: 416 default: false 417 418 LazyImageLoadingEnabled: 419 type: bool 420 humanReadableName: "Lazy image loading" 421 humanReadableDescription: "Enable lazy image loading support" 422 defaultValue: 423 WebKitLegacy: 424 default: false 425 WebKit: 426 default: false 427 428 LinkPrefetchEnabled: 429 type: bool 430 humanReadableName: "LinkPrefetch" 431 humanReadableDescription: "Enable LinkedPrefetch" 432 defaultValue: 433 WebKitLegacy: 434 default: false 435 WebKit: 436 default: false 437 438 LinkPreloadResponsiveImagesEnabled: 439 type: bool 440 humanReadableName: "Link preload responsive images" 441 humanReadableDescription: "Enable link preload responsive images" 442 defaultValue: 443 WebKitLegacy: 444 default: false 445 WebKit: 446 default: false 447 448 MaskWebGLStringsEnabled: 449 type: bool 450 humanReadableName: "Mask WebGL Strings" 451 humanReadableDescription: "Mask WebGL Vendor, Renderer, Shader Language Strings" 452 webcoreBinding: RuntimeEnabledFeatures 453 condition: ENABLE(WEBGL) || ENABLE(WEBGL2) 454 defaultValue: 455 WebKitLegacy: 456 default: true 457 WebKit: 458 default: true 459 460 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 461 MediaCapabilitiesExtensionsEnabled: 462 type: bool 463 humanReadableName: "Media Capabilities Extensions" 464 humanReadableDescription: "Media Capabilities Extensions" 465 defaultValue: 466 WebKitLegacy: 467 default: false 468 WebKit: 469 default: true 470 471 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 472 MediaRecorderEnabled: 473 type: bool 474 humanReadableName: "MediaRecorder" 475 humanReadableDescription: "MediaRecorder" 476 condition: ENABLE(MEDIA_STREAM) 477 defaultValue: 478 WebKitLegacy: 479 default: false 480 WebKit: 481 "HAVE(AVASSETWRITERDELEGATE)": true 482 default: false 483 484 ModernUnprefixedWebAudioEnabled: 485 type: bool 486 humanReadableName: "Modern WebAudio API" 487 humanReadableDescription: "Modern and unprefixed WebAudio API" 488 condition: ENABLE(WEB_AUDIO) 489 defaultValue: 490 WebKitLegacy: 491 "PLATFORM(IOS_FAMILY)" : true 492 default: false 493 WebKit: 494 default: true 495 496 PageAtRuleSupportEnabled: 497 type: bool 498 humanReadableName: "@page CSS at-rule support" 499 humanReadableDescription: "Enable @page support" 500 webcoreBinding: RuntimeEnabledFeatures 501 defaultValue: 502 WebKitLegacy: 503 default: false 504 WebKit: 505 default: false 506 507 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 508 PaintTimingEnabled: 509 type: bool 510 humanReadableName: "Paint Timing" 511 humanReadableDescription: "Enable PaintTiming API" 512 webcoreBinding: RuntimeEnabledFeatures 513 defaultValue: 514 WebKitLegacy: 515 default: false 516 WebKit: 517 default: true 518 519 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 520 PerElementSpeakerSelectionEnabled: 521 type: bool 522 humanReadableName: "Allow per media element speaker device selection" 523 humanReadableDescription: "Allow per media element speaker device selection" 524 condition: ENABLE(MEDIA_STREAM) 525 defaultValue: 526 WebKitLegacy: 527 default: false 528 WebKit: 529 default: false 530 531 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 532 ProcessSwapOnCrossSiteNavigationEnabled: 533 type: bool 534 humanReadableName: "Swap Processes on Cross-Site Navigation" 535 humanReadableDescription: "Swap WebContent Processes on cross-site navigations" 536 webcoreBinding: none 537 defaultValue: 538 WebKitLegacy: 539 default: false 540 WebKit: 541 "PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(GTK) || PLATFORM(WPE)": true 542 default: false 543 544 ReadableByteStreamAPIEnabled: 545 type: bool 546 humanReadableName: "ReadableByteStream" 547 humanReadableDescription: "Enable Readable Byte Streams" 548 webcoreBinding: RuntimeEnabledFeatures 549 defaultValue: 550 WebKitLegacy: 551 default: false 552 WebKit: 553 default: false 554 555 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 556 ReferrerPolicyAttributeEnabled: 557 type: bool 558 humanReadableName: "Referrer Policy attribute" 559 humanReadableDescription: "Enable Referrer Policy attribute" 560 defaultValue: 561 WebKitLegacy: 562 default: false 563 WebKit: 564 default: true 565 566 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 567 RemotePlaybackEnabled: 568 type: bool 569 humanReadableName: "Remote Playback API" 570 humanReadableDescription: "Enable Remote Playback API" 571 condition: ENABLE(WIRELESS_PLAYBACK_TARGET) 572 defaultValue: 573 WebKitLegacy: 574 default: false 575 WebKit: 576 default: true 577 578 RequestIdleCallbackEnabled: 579 type: bool 580 humanReadableName: "requestIdleCallback" 581 humanReadableDescription: "Enable requestIdleCallback support" 582 defaultValue: 583 WebKitLegacy: 584 default: false 585 WebKit: 586 default: false 587 588 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 589 ResizeObserverEnabled: 590 type: bool 591 humanReadableName: "Resize Observer" 592 humanReadableDescription: "Enable Resize Observer support" 593 condition: ENABLE(RESIZE_OBSERVER) 594 defaultValue: 595 WebKitLegacy: 596 default: false 597 WebKit: 598 default: true 599 600 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 601 ScreenCaptureEnabled: 602 type: bool 603 condition: ENABLE(MEDIA_STREAM) && PLATFORM(MAC) 604 humanReadableName: "ScreenCapture" 605 humanReadableDescription: "Enable ScreenCapture" 606 defaultValue: 607 WebKitLegacy: 608 default: false 609 WebKit: 610 default: true 611 612 ServerTimingEnabled: 613 type: bool 614 humanReadableName: "Server Timing" 615 humanReadableDescription: "Enable Server Timing API" 616 webcoreBinding: RuntimeEnabledFeatures 617 defaultValue: 618 WebKitLegacy: 619 default: false 620 WebKit: 621 default: false 622 623 ShouldDeferAsynchronousScriptsUntilAfterDocumentLoadOrFirstPaint: 624 type: bool 625 humanReadableName: "Defer async scripts until DOMContentLoaded or first-paint" 626 humanReadableDescription: "Defer async scripts until DOMContentLoaded or first-paint" 627 defaultValue: 628 WebKitLegacy: 629 default: true 630 WebKit: 631 default: true 632 633 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 634 SpringTimingFunctionEnabled: 635 type: bool 636 humanReadableName: "CSS Spring Animations" 637 humanReadableDescription: "CSS Spring Animation prototype" 638 defaultValue: 639 WebKitLegacy: 640 default: false 641 WebKit: 642 "ENABLE(EXPERIMENTAL_FEATURES)" : true 643 default: false 644 645 SyntheticEditingCommandsEnabled: 646 type: bool 647 humanReadableName: "Synthetic Editing Commands" 648 humanReadableDescription: "Enable Synthetic Editing Commands" 649 defaultValue: 650 WebKitLegacy: 651 default: true 652 WebKit: 653 default: true 654 655 ThirdPartyIframeRedirectBlockingEnabled: 656 type: bool 657 humanReadableName: "Block top-level redirects by third-party iframes" 658 humanReadableDescription: "Block top-level redirects by third-party iframes" 659 defaultValue: 660 WebKitLegacy: 661 default: true 662 WebKit: 663 default: true 664 665 TransformStreamAPIEnabled: 666 type: bool 667 humanReadableName: "TransformStream API" 668 humanReadableDescription: "Enable Transform Stream API" 669 webcoreBinding: RuntimeEnabledFeatures 670 defaultValue: 671 WebKitLegacy: 672 default: true 673 WebKit: 674 default: true 675 676 UserGesturePromisePropagationEnabled: 677 type: bool 678 humanReadableName: "UserGesture Promise Propagation" 679 humanReadableDescription: "UserGesture Promise Propagation" 680 webcoreBinding: RuntimeEnabledFeatures 681 defaultValue: 682 WebKitLegacy: 683 default: true 684 WebKit: 685 default: true 125 686 126 687 VisualViewportAPIEnabled: 127 688 type: bool 128 defaultValue: WebKit::defaultVisualViewportAPIEnabled()129 689 humanReadableName: "Visual Viewport API" 130 690 humanReadableDescription: "Enable Visual Viewport API" 131 132 SyntheticEditingCommandsEnabled: 133 type: bool 134 defaultValue: true 135 humanReadableName: "Synthetic Editing Commands" 136 humanReadableDescription: "Enable Synthetic Editing Commands" 137 138 CSSOMViewSmoothScrollingEnabled: 139 type: bool 140 defaultValue: false 141 humanReadableName: "CSSOM View Smooth Scrolling" 142 humanReadableDescription: "Enable DOM API and CSS property for 'smooth' scroll behavior" 143 144 # FIXME: This is set to DEFAULT_EXPERIMENTAL_FEATURES_ENABLED in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 691 defaultValue: 692 WebKitLegacy: 693 "PLATFORM(IOS_FAMILY)" : false 694 default: true 695 WebKit: 696 default: true 697 698 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 699 VP9DecoderEnabled: 700 type: bool 701 humanReadableName: "VP9 decoder" 702 humanReadableDescription: "Enable VP9 decoder" 703 webcoreBinding: none 704 condition: ENABLE(VP9) 705 defaultValue: 706 WebKitLegacy: 707 default: false 708 WebKit: 709 default: WebKit::defaultVP9DecoderEnabled() 710 711 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 712 VP9SWDecoderEnabledOnBattery: 713 type: bool 714 humanReadableName: "VP9 SW decoder on battery" 715 humanReadableDescription: "Enable VP9 SW decoder on battery" 716 webcoreBinding: none 717 condition: ENABLE(VP9) 718 defaultValue: 719 WebKitLegacy: 720 default: false 721 WebKit: 722 default: WebKit::defaultVP9SWDecoderEnabledOnBattery() 723 724 725 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 145 726 WebAnimationsCompositeOperationsEnabled: 146 727 type: bool 147 defaultValue: false148 728 humanReadableName: "Web Animations composite operations" 149 729 humanReadableDescription: "Support for the CompositeOperation enum and properties consuming it" 150 730 webcoreBinding: RuntimeEnabledFeatures 151 152 # FIXME: This is set to DEFAULT_EXPERIMENTAL_FEATURES_ENABLED in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 731 defaultValue: 732 WebKitLegacy: 733 default: false 734 WebKit: 735 "ENABLE(EXPERIMENTAL_FEATURES)" : true 736 default: false 737 738 # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. 153 739 WebAnimationsMutableTimelinesEnabled: 154 740 type: bool 155 defaultValue: false156 741 humanReadableName: "Web Animations mutable timelines" 157 742 humanReadableDescription: "Support for setting the timeline property of an Animation object" 158 743 webcoreBinding: RuntimeEnabledFeatures 744 defaultValue: 745 WebKitLegacy: 746 default: false 747 WebKit: 748 "ENABLE(EXPERIMENTAL_FEATURES)" : true 749 default: false 750 751 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 752 WebAuthenticationEnabled: 753 type: bool 754 humanReadableName: "Web Authentication" 755 humanReadableDescription: "Enable Web Authentication support" 756 condition: ENABLE(WEB_AUTHN) 757 defaultValue: 758 WebKitLegacy: 759 default: false 760 WebKit: 761 default: false 762 763 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 764 WebAuthenticationLocalAuthenticatorEnabled: 765 type: bool 766 humanReadableName: "Web Authentication Local Authenticator" 767 humanReadableDescription: "Enable Web Authentication local authenticator support" 768 condition: ENABLE(WEB_AUTHN) 769 defaultValue: 770 WebKitLegacy: 771 default: false 772 WebKit: 773 default: false 159 774 160 775 WebGL2Enabled: 161 776 type: bool 162 defaultValue: true163 777 humanReadableName: "WebGL 2.0" 164 778 humanReadableDescription: "WebGL 2 prototype" 165 779 webcoreBinding: RuntimeEnabledFeatures 166 780 condition: ENABLE(WEBGL2) 781 defaultValue: 782 WebKitLegacy: 783 default: true 784 WebKit: 785 default: true 167 786 168 787 WebGPUEnabled: 169 788 type: bool 170 defaultValue: WebKit::defaultWebGPUEnabled()171 789 humanReadableName: "WebGPU" 172 790 humanReadableDescription: "WebGPU Sketch prototype" 173 791 webcoreBinding: RuntimeEnabledFeatures 174 792 condition: ENABLE(WEBGPU) 175 176 MaskWebGLStringsEnabled: 177 type: bool 178 defaultValue: true 179 humanReadableName: "Mask WebGL Strings" 180 humanReadableDescription: "Mask WebGL Vendor, Renderer, Shader Language Strings" 181 webcoreBinding: RuntimeEnabledFeatures 182 condition: ENABLE(WEBGL) || ENABLE(WEBGL2) 183 184 AccessibilityObjectModelEnabled: 185 type: bool 186 defaultValue: false 187 humanReadableName: "Accessibility Object Model" 188 humanReadableDescription: "Accessibility Object Model support" 189 webcoreBinding: RuntimeEnabledFeatures 190 191 ServerTimingEnabled: 192 type: bool 193 defaultValue: false 194 humanReadableName: "Server Timing" 195 humanReadableDescription: "Enable Server Timing API" 196 webcoreBinding: RuntimeEnabledFeatures 197 webcoreName: serverTimingEnabled 198 199 CSSCustomPropertiesAndValuesEnabled: 200 type: bool 201 defaultValue: false 202 humanReadableName: "CSS Custom Properties and Values API" 203 humanReadableDescription: "Enable CSS Custom Properties and Values API" 204 205 CSSPaintingAPIEnabled: 206 type: bool 207 defaultValue: false 208 humanReadableName: "CSS Painting API" 209 humanReadableDescription: "Enable the CSS Painting API" 210 webcoreBinding: RuntimeEnabledFeatures 211 condition: ENABLE(CSS_PAINTING_API) 212 213 CSSTypedOMEnabled: 214 type: bool 215 defaultValue: false 216 humanReadableName: "CSS Typed OM" 217 humanReadableDescription: "Enable the CSS Typed OM" 218 webcoreBinding: RuntimeEnabledFeatures 219 condition: ENABLE(CSS_TYPED_OM) 793 defaultValue: 794 WebKitLegacy: 795 default: WebKit::defaultWebGPUEnabled() 796 WebKit: 797 default: WebKit::defaultWebGPUEnabled() 798 799 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 800 WebMParserEnabled: 801 type: bool 802 webcoreBinding: RuntimeEnabledFeatures 803 humanReadableName: "WebM MSE parser" 804 humanReadableDescription: "Enable WebM MSE parser" 805 condition: ENABLE(MEDIA_SOURCE) && ENABLE(VP9) 806 defaultValue: 807 WebKitLegacy: 808 default: false 809 WebKit: 810 default: WebKit::defaultWebMParserEnabled() 811 812 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 813 WebRTCH264LowLatencyEncoderEnabled: 814 type: bool 815 humanReadableName: "WebRTC H264 LowLatency encoder" 816 humanReadableDescription: "Enable H264 LowLatency encoder" 817 webcoreBinding: RuntimeEnabledFeatures 818 condition: ENABLE(WEB_RTC) 819 defaultValue: 820 WebKitLegacy: 821 default: false 822 WebKit: 823 default: true 824 825 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 826 WebRTCH265CodecEnabled: 827 type: bool 828 webcoreBinding: RuntimeEnabledFeatures 829 condition: ENABLE(WEB_RTC) 830 humanReadableName: "WebRTC H265 codec" 831 humanReadableDescription: "Enable WebRTC H265 codec" 832 defaultValue: 833 WebKitLegacy: 834 default: false 835 WebKit: 836 default: false 837 838 # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. 839 WebRTCVP9CodecEnabled: 840 type: bool 841 humanReadableName: "WebRTC VP9 codec" 842 humanReadableDescription: "Enable WebRTC VP9 codec" 843 webcoreBinding: RuntimeEnabledFeatures 844 condition: ENABLE(WEB_RTC) 845 defaultValue: 846 WebKitLegacy: 847 default: false 848 WebKit: 849 default: false 850 851 # FIXME: This is not relevent for WebKitLegacy, so should be excluded from WebKitLegacy entirely. 852 WebRTCPlatformCodecsInGPUProcessEnabled: 853 type: bool 854 humanReadableName: "WebRTC Platform Codecs in GPU Process" 855 humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process" 856 webcoreBinding: RuntimeEnabledFeatures 857 condition: ENABLE(WEB_RTC) 858 defaultValue: 859 WebKitLegacy: 860 default: false 861 WebKit: 862 default: WebKit::defaultWebRTCCodecsInGPUProcess() 863 864 WebShareFileAPIEnabled: 865 type: bool 866 humanReadableName: "Web Share API Level 2" 867 humanReadableDescription: "Enable level 2 of Web Share API" 868 defaultValue: 869 WebKitLegacy: 870 default: false 871 WebKit: 872 default: false 220 873 221 874 # WebKitLegacy has a preference called WebSQLEnabled, but there is currently no easy … … 227 880 # humanReadableDescription: "Disable Web SQL" 228 881 # webcoreBinding: RuntimeEnabledFeatures 229 230 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 231 MediaCapabilitiesExtensionsEnabled: 232 type: bool 233 defaultValue: false 234 humanReadableName: "Media Capabilities Extensions" 235 humanReadableDescription: "Media Capabilities Extensions" 236 237 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 238 HDRMediaCapabilitiesEnabled: 239 type: bool 240 defaultValue: false 241 humanReadableName: "HDR Media Capabilities" 242 humanReadableDescription: "HDR Media Capabilities" 243 244 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 245 ResizeObserverEnabled: 246 type: bool 247 defaultValue: false 248 humanReadableName: "Resize Observer" 249 humanReadableDescription: "Enable Resize Observer support" 250 condition: ENABLE(RESIZE_OBSERVER) 251 252 AdClickAttributionEnabled: 253 type: bool 254 defaultValue: false 255 humanReadableName: "Ad Click Attribution" 256 humanReadableDescription: "Enable Ad Click Attribution for Cross-Site Link Navigations" 257 258 AdClickAttributionDebugModeEnabled: 259 type: bool 260 defaultValue: false 261 humanReadableName: "Ad Click Attribution Debug Mode" 262 humanReadableDescription: "Enable Ad Click Attribution Debug Mode" 263 webcoreBinding: RuntimeEnabledFeatures 264 265 # FIXME: This seems to be accidentally enabled for WebKit1 right now due to the old code using the 266 # wrong preference key in some places. We should identify whether it really makes sense to keep this 267 # enabled. 268 FetchAPIKeepAliveEnabled: 269 type: bool 270 defaultValue: true 271 humanReadableName: "Fetch API Request KeepAlive" 272 humanReadableDescription: "Enable Fetch API Request KeepAlive" 273 webcoreBinding: RuntimeEnabledFeatures 274 webcoreName: fetchAPIKeepAliveEnabled 275 276 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 277 GenericCueAPIEnabled: 278 type: bool 279 defaultValue: false 280 condition: ENABLE(VIDEO) 281 humanReadableName: "Generic Text Track Cue API" 282 humanReadableDescription: "Enable Generic Text Track Cue API" 283 webcoreName: genericCueAPIEnabled 284 285 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 286 AspectRatioOfImgFromWidthAndHeightEnabled: 287 type: bool 288 defaultValue: false 289 humanReadableName: "Aspect ratio of <img> from width and height" 290 humanReadableDescription: "Map HTML attributes width/height to the default aspect ratio of <img>" 291 292 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 293 ReferrerPolicyAttributeEnabled: 294 type: bool 295 defaultValue: false 296 humanReadableName: "Referrer Policy attribute" 297 humanReadableDescription: "Enable Referrer Policy attribute" 298 299 PageAtRuleSupportEnabled: 300 type: bool 301 defaultValue: false 302 humanReadableName: "@page CSS at-rule support" 303 humanReadableDescription: "Enable @page support" 304 webcoreBinding: RuntimeEnabledFeatures 305 306 CoreMathMLEnabled: 307 type: bool 308 defaultValue: false 309 humanReadableName: "MathML Core" 310 humanReadableDescription: "Disable features removed from the MathML Core spec." 311 312 LinkPrefetchEnabled: 313 type: bool 314 defaultValue: false 315 humanReadableName: "LinkPrefetch" 316 humanReadableDescription: "Enable LinkedPrefetch" 317 318 LinkPreloadResponsiveImagesEnabled: 319 type: bool 320 defaultValue: false 321 humanReadableName: "Link preload responsive images" 322 humanReadableDescription: "Enable link preload responsive images" 323 324 LazyImageLoadingEnabled: 325 type: bool 326 defaultValue: false 327 humanReadableName: "Lazy image loading" 328 humanReadableDescription: "Enable lazy image loading support" 329 330 LazyIframeLoadingEnabled: 331 type: bool 332 defaultValue: false 333 humanReadableName: "Lazy iframe loading" 334 humanReadableDescription: "Enable lazy iframe loading support" 335 336 IsThirdPartyCookieBlockingDisabled: 337 type: bool 338 defaultValue: false 339 humanReadableName: "Disable Full 3rd-Party Cookie Blocking (ITP)" 340 humanReadableDescription: "Disable full third-party cookie blocking when Intelligent Tracking Prevention is enabled" 341 342 IsFirstPartyWebsiteDataRemovalDisabled: 343 type: bool 344 defaultValue: false 345 humanReadableName: "Disable Removal of Non-Cookie Data After 7 Days of No User Interaction (ITP)" 346 humanReadableDescription: "Disable removal of all non-cookie website data after seven days of no user interaction when Intelligent Tracking Prevention is enabled" 347 348 IsSameSiteStrictEnforcementEnabled: 349 type: bool 350 defaultValue: false 351 humanReadableName: "SameSite strict enforcement (ITP)" 352 humanReadableDescription: "Enable SameSite strict enforcement to mitigate bounce tracking" 353 354 IsLoggedInAPIEnabled: 355 type: bool 356 defaultValue: false 357 humanReadableName: "IsLoggedIn web API" 358 humanReadableDescription: "Enable the proposed IsLoggedIn web API" 359 360 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. 361 RemotePlaybackEnabled: 362 type: bool 363 defaultValue: false 364 humanReadableName: "Remote Playback API" 365 humanReadableDescription: "Enable Remote Playback API" 366 condition: ENABLE(WIRELESS_PLAYBACK_TARGET) 367 368 DialogElementEnabled: 369 type: bool 370 defaultValue: false 371 humanReadableName: "Dialog Element" 372 humanReadableDescription: "Enable the Dialog Element" 373 webcoreBinding: RuntimeEnabledFeatures 374 375 WebShareFileAPIEnabled: 376 type: bool 377 defaultValue: false 378 humanReadableName: "Web Share API Level 2" 379 humanReadableDescription: "Enable level 2 of Web Share API" 380 381 IncrementalPDFLoadingEnabled: 382 type: bool 383 defaultValue: WebKit::defaultIncrementalPDFEnabled() 384 humanReadableName: "Incremental PDF Loading" 385 humanReadableDescription: "Enable Incremental PDF Loading on supported platforms" 386 condition: HAVE(INCREMENTAL_PDF_APIS) 387 webcoreBinding: RuntimeEnabledFeatures 882 # defaultValue: 883 # WebKitLegacy: 884 # default: WebKit::defaultWebSQLDisabled() 885 # WebKit: 886 # default: true 388 887 389 888 WebXREnabled: 390 889 type: bool 391 defaultValue: WebKit::defaultWebXREnabled()392 890 humanReadableName: "WebXR Device API" 393 891 humanReadableDescription: "Adds support for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays, on the Web" 394 892 webcoreBinding: RuntimeEnabledFeatures 395 893 condition: ENABLE(WEBXR) 396 397 ReadableByteStreamAPIEnabled: 398 type: bool 399 defaultValue: false 400 humanReadableName: "ReadableByteStream" 401 humanReadableDescription: "Enable Readable Byte Streams" 402 webcoreBinding: RuntimeEnabledFeatures 894 defaultValue: 895 WebKitLegacy: 896 default: WebKit::defaultWebXREnabled() 897 WebKit: 898 default: WebKit::defaultWebXREnabled() 403 899 404 900 WritableStreamAPIEnabled: 405 901 type: bool 406 defaultValue: true407 902 humanReadableName: "WritableStream API" 408 903 humanReadableDescription: "Enable Writable Stream API" 409 904 webcoreBinding: RuntimeEnabledFeatures 410 411 TransformStreamAPIEnabled: 412 type: bool 413 defaultValue: true 414 humanReadableName: "TransformStream API" 415 humanReadableDescription: "Enable Transform Stream API" 416 webcoreBinding: RuntimeEnabledFeatures 417 418 CoreImageAcceleratedFilterRenderEnabled: 419 type: bool 420 defaultValue: false 421 humanReadableName: "CoreImage-Accelerated Filter Rendering" 422 humanReadableDescription: "Accelerated CSS and SVG filter rendering using CoreImage" 423 condition: ENABLE(CORE_IMAGE_ACCELERATED_FILTER_RENDER) 424 425 DisableMediaExperiencePIDInheritance: 426 type: bool 427 defaultValue: false 428 webcoreBinding: RuntimeEnabledFeatures 429 humanReadableName: "Disable Media Experience PID Inheritance" 430 humanReadableDescription: "Disable Media Experience PID Inheritance" 431 condition: HAVE(CELESTIAL) 432 433 434 435 # FIXME: This is not implemented for WebKitLegacy, so should probably be removed. 436 HTTPSUpgradeEnabled: 437 type: bool 438 defaultValue: false 439 humanReadableName: "Automatic HTTPS upgrade" 440 humanReadableDescription: "Automatic HTTPS upgrade for known supported sites" 441 442 # FIXME: This is not relevent for WebKitLegacy, so should probably be removed. 443 InProcessCookieCacheEnabled: 444 type: bool 445 defaultValue: true 446 humanReadableName: "In-Process Cookie Cache" 447 humanReadableDescription: "In-Process DOM Cookie Cache" 448 449 # FIXME: This is not relevent for WebKitLegacy, so should probably be removed. 450 UseGPUProcessForMediaEnabled: 451 type: bool 452 defaultValue: false 453 condition: ENABLE(GPU_PROCESS) 454 humanReadableName: "Use GPU Process for media" 455 humanReadableDescription: "Do all media loading and playback in the GPU Process" 456 webcoreName: useGPUProcessForMediaEnabled 457 458 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 459 MediaRecorderEnabled: 460 type: bool 461 defaultValue: false 462 condition: ENABLE(MEDIA_STREAM) 463 humanReadableName: "MediaRecorder" 464 humanReadableDescription: "MediaRecorder" 465 466 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 467 ScreenCaptureEnabled: 468 type: bool 469 defaultValue: false 470 condition: ENABLE(MEDIA_STREAM) && PLATFORM(MAC) 471 humanReadableName: "ScreenCapture" 472 humanReadableDescription: "Enable ScreenCapture" 473 474 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 475 WebRTCH264LowLatencyEncoderEnabled: 476 type: bool 477 defaultValue: false 478 webcoreBinding: RuntimeEnabledFeatures 479 condition: ENABLE(WEB_RTC) 480 humanReadableName: "WebRTC H264 LowLatency encoder" 481 humanReadableDescription: "Enable H264 LowLatency encoder" 482 483 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 484 WebRTCH265CodecEnabled: 485 type: bool 486 defaultValue: false 487 webcoreBinding: RuntimeEnabledFeatures 488 condition: ENABLE(WEB_RTC) 489 humanReadableName: "WebRTC H265 codec" 490 humanReadableDescription: "Enable WebRTC H265 codec" 491 492 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 493 WebRTCVP9CodecEnabled: 494 type: bool 495 defaultValue: false 496 webcoreBinding: RuntimeEnabledFeatures 497 condition: ENABLE(WEB_RTC) 498 humanReadableName: "WebRTC VP9 codec" 499 humanReadableDescription: "Enable WebRTC VP9 codec" 500 501 # FIXME: This is not relevent for WebKitLegacy, so should probably be removed. 502 WebRTCPlatformCodecsInGPUProcessEnabled: 503 type: bool 504 defaultValue: false 505 webcoreBinding: RuntimeEnabledFeatures 506 condition: ENABLE(WEB_RTC) 507 humanReadableName: "WebRTC Platform Codecs in GPU Process" 508 humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process" 509 510 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 511 ExposeSpeakersEnabled: 512 type: bool 513 defaultValue: false 514 humanReadableName: "Allow speaker device selection" 515 humanReadableDescription: "Allow speaker device selection" 516 condition: ENABLE(MEDIA_STREAM) 517 518 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 519 PerElementSpeakerSelectionEnabled: 520 type: bool 521 defaultValue: false 522 humanReadableName: "Allow per media element speaker device selection" 523 humanReadableDescription: "Allow per media element speaker device selection" 524 condition: ENABLE(MEDIA_STREAM) 525 526 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 527 VP9DecoderEnabled: 528 type: bool 529 defaultValue: false 530 webcoreBinding: none 531 humanReadableName: "VP9 decoder" 532 humanReadableDescription: "Enable VP9 decoder" 533 condition: ENABLE(VP9) 534 535 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 536 VP9SWDecoderEnabledOnBattery: 537 type: bool 538 defaultValue: false 539 webcoreBinding: none 540 humanReadableName: "VP9 SW decoder on battery" 541 humanReadableDescription: "Enable VP9 SW decoder on battery" 542 condition: ENABLE(VP9) 543 544 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 545 WebMParserEnabled: 546 type: bool 547 defaultValue: false 548 webcoreBinding: RuntimeEnabledFeatures 549 humanReadableName: "WebM MSE parser" 550 humanReadableDescription: "Enable WebM MSE parser" 551 condition: ENABLE(MEDIA_SOURCE) && ENABLE(VP9) 552 553 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 554 WebAuthenticationEnabled: 555 type: bool 556 defaultValue: false 557 humanReadableName: "Web Authentication" 558 humanReadableDescription: "Enable Web Authentication support" 559 condition: ENABLE(WEB_AUTHN) 560 561 # FIXME: Is this implemented for WebKitLegacy? If not, this should probably be removed. 562 WebAuthenticationLocalAuthenticatorEnabled: 563 type: bool 564 defaultValue: false 565 humanReadableName: "Web Authentication Local Authenticator" 566 humanReadableDescription: "Enable Web Authentication local authenticator support" 567 condition: ENABLE(WEB_AUTHN) 568 569 # FIXME: This is not implemented for WebKitLegacy, so should probably be removed. 570 HTTP3Enabled: 571 type: bool 572 defaultValue: false 573 humanReadableName: "HTTP/3" 574 humanReadableDescription: "Enable HTTP/3" 575 webcoreBinding: none 576 condition: HAVE(CFNETWORK_ALTERNATIVE_SERVICE) 577 578 # FIXME: This is not relevent for WebKitLegacy, so should probably be removed. 579 ProcessSwapOnCrossSiteNavigationEnabled: 580 type: bool 581 defaultValue: false 582 humanReadableName: "Swap Processes on Cross-Site Navigation" 583 humanReadableDescription: "Swap WebContent Processes on cross-site navigations" 584 webcoreBinding: none 585 586 # FIXME: This is not implemented for WebKitLegacy, so should probably be removed. 587 IsNSURLSessionWebSocketEnabled: 588 type: bool 589 defaultValue: false 590 humanReadableName: "NSURLSession WebSocket" 591 humanReadableDescription: "Use NSURLSession WebSocket API" 592 webcoreBinding: RuntimeEnabledFeatures 593 condition: HAVE(NSURLSESSION_WEBSOCKET) 594 595 CSSIndividualTransformPropertiesEnabled: 596 type: bool 597 defaultValue: false 598 humanReadableName: "CSS Individual Transform Properties" 599 humanReadableDescription: "Support for the translate, scale and rotate CSS properties" 905 defaultValue: 906 WebKitLegacy: 907 default: true 908 WebKit: 909 default: true 910
Note:
See TracChangeset
for help on using the changeset viewer.