⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 267623 in webkit


Ignore:
Timestamp:
Sep 26, 2020, 9:34:32 AM (6 years ago)
Author:
weinig@apple.com
Message:

[Preferences] It should be possible to have different default values for WebKitLegacy and WebKit in preference yaml files
https://bugs.webkit.org/show_bug.cgi?id=216987

Reviewed by Darin Adler.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Update script phase to explicitly specify the frontend (WebKitLegacy) and the templates to generate.

Source/WebKitLegacy/mac:

Add new syntax for default values that allows specializing based on both frontend (WebKit or
WebKitLegacy) and then futher based on platform macros. For example, the preference for
CSSTypedOMEnabled now looks like:

CSSTypedOMEnabled:

type: bool
humanReadableName: "CSS Typed OM"
humanReadableDescription: "Enable the CSS Typed OM"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(CSS_TYPED_OM)
defaultValue:

WebKitLegacy:

default: false

WebKit:

"ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK)
PLATFORM(WPE))": true

default: false

Which means that in WebKitLegacy, the default value is false, and in WebKit, the default
value will be:

#if ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK)
PLATFORM(WPE))

true

#else

false

#endif

As many platform macro based conditions can be provided as wanted, and they are evaluated
in the order specified in the file.

The syntax currently always requires explicitly specifying WebKitLegacy and WebKit and default
for each, even if they are all the same, but could be extended in the future to allow compaction
if that becomes desirable. There is also not yet support for conditionally enabling a feature
based on os-feature-flags or linked-on-or-after checks, so those still require specifying the
default value as a function, but that seems like a nice future improvement.

As this is still staging for doing this for both WebKitLegacy and WebKit, this change only effects
WebKitLegacy for now, and subsequent changes will move this to a shared location.

  • Scripts/GeneratePreferences.rb:
  • Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
  • Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
  • WebView/WebPreferencesExperimental.yaml:
Location:
trunk/Source/WebKitLegacy
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKitLegacy/ChangeLog

    r267575 r267623  
     12020-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
    1112020-09-25  Sam Weinig  <weinig@apple.com>
    212
  • trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj

    r267575 r267623  
    34693469                        runOnlyForDeploymentPostprocessing = 0;
    34703470                        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";
    34723472                };
    34733473                A13EE61D185AE82700556064 /* Postprocess Headers */ = {
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r267592 r267623  
     12020-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
    1512020-09-25  Antoine Quint  <graouts@webkit.org>
    252
  • trunk/Source/WebKitLegacy/mac/Scripts/GeneratePreferences.rb

    r267575 r267623  
    3030
    3131options = {
     32  :frontend => nil,
    3233  :basePreferences => nil,
    3334  :debugPreferences => nil,
    3435  :experimentalPreferences => nil,
    3536  :internalPreferences => nil,
    36   :outputDirectory => nil
     37  :outputDirectory => nil,
     38  :templates => []
    3739}
    3840optparse = 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 }
    4852end
    4953
    5054optparse.parse!
    5155
    52 if !options[:basePreferences] || !options[:debugPreferences] || !options[:experimentalPreferences] || !options[:internalPreferences]
     56if !options[:frontend] || !options[:basePreferences] || !options[:debugPreferences] || !options[:experimentalPreferences] || !options[:internalPreferences]
    5357  puts optparse
    5458  exit -1
     
    9397  attr_accessor :name
    9498  attr_accessor :type
    95   attr_accessor :defaultValue
    9699  attr_accessor :humanReadableName
    97100  attr_accessor :humanReadableDescription
     
    99102  attr_accessor :condition
    100103  attr_accessor :hidden
    101 
    102   def initialize(name, opts)
     104  attr_accessor :frontendSpecificDefaultValues
     105
     106  def initialize(name, opts, frontend)
    103107    @name = name
    104108    @type = opts["type"]
    105     @defaultValue = opts["defaultValue"]
    106109    @humanReadableName = '"' + (opts["humanReadableName"] || "") + '"'
    107110    @humanReadableDescription = '"' + (opts["humanReadableDescription"] || "") + '"'
     
    111114    @condition = opts["condition"]
    112115    @hidden = opts["hidden"] || false
     116    @frontendSpecificDefaultValues = opts["defaultValue"][frontend]
    113117  end
    114118
     
    157161  attr_accessor :preferences
    158162
    159   def initialize(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, outputDirectory)
     163  def initialize(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, outputDirectory, frontend)
    160164    @outputDirectory = outputDirectory
     165    @frontend = frontend
    161166
    162167    @preferences = []
     
    168173    if parsedBasePreferences
    169174      parsedBasePreferences.each do |name, options|
    170         preference = Preference.new(name, options)
     175        preference = Preference.new(name, options, @frontend)
    171176        @preferences << preference
    172177        @preferencesNotDebug << preference
     
    175180    if parsedDebugPreferences
    176181      parsedDebugPreferences.each do |name, options|
    177         preference = Preference.new(name, options)
     182        preference = Preference.new(name, options, @frontend)
    178183        @preferences << preference
    179184        @preferencesDebug << preference
     
    182187    if parsedExperimentalPreferences
    183188      parsedExperimentalPreferences.each do |name, options|
    184         preference = Preference.new(name, options)
     189        preference = Preference.new(name, options, @frontend)
    185190        @preferences << preference
    186191        @experimentalFeatures << preference
     
    189194    if parsedInternalPreferences
    190195      parsedInternalPreferences.each do |name, options|
    191         preference = Preference.new(name, options)
     196        preference = Preference.new(name, options, @frontend)
    192197        @preferences << preference
    193198        @internalDebugFeatures << preference
     
    218223end
    219224
    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")
     225preferences = Preferences.new(parsedBasePreferences, parsedDebugPreferences, parsedExperimentalPreferences, parsedInternalPreferences, options[:outputDirectory], options[:frontend])
     226
     227options[:templates].each do |template|
     228  preferences.renderTemplate(template)
     229end
  • trunk/Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb

    r267575 r267623  
    3333
    3434<%- for @pref in @experimentalFeatures do -%>
    35 <%- if @pref.condition -%>
     35<%-   if @pref.condition -%>
    3636#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 -%>
    3847#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 -%>
    4051#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 -%>
    4458<%- end -%>
    4559
    4660#define INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES \
    4761<%- for @pref in @experimentalFeatures do -%>
    48     INITIALIZE_DEFAULT_PREFERENCES_DICTIONARY_FROM_GENERATED_PREFERENCES_<%= @pref.name %> \
     62    @(DEFAULT_VALUE_FOR_<%= @pref.name %>), @"WebKit<%= @pref.name %>", \
    4963<%- end -%>
    5064    \
  • trunk/Source/WebKitLegacy/mac/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb

    r267575 r267623  
    2929
    3030#import "WebFeatureInternal.h"
    31 #import "WebPreferencesDefaultValues.h"
     31#import "WebPreferencesDefinitions.h"
    3232
    3333using namespace WebKit;
     
    4242#if <%= @pref.condition %>
    4343<%- 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 %>],
    4545<%- if @pref.condition -%>
    4646#endif
  • trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.h

    r267575 r267623  
    2828#include <wtf/Forward.h>
    2929
    30 #if ENABLE(EXPERIMENTAL_FEATURES)
    31 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED true
    32 #else
    33 #define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED false
    34 #endif
    35 
    3630#if PLATFORM(MAC)
    3731#define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED true
     
    5852#endif
    5953
    60 bool defaultVisualViewportAPIEnabled();
    61 bool defaultModernUnprefixedWebAudioEnabled();
    62 
    6354} // namespace WebKit
  • trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesDefaultValues.mm

    r267575 r267623  
    9494#endif // ENABLE(WEBXR)
    9595
    96 bool defaultVisualViewportAPIEnabled()
    97 {
    98 #if PLATFORM(IOS_FAMILY)
    99     return false;
    100 #else
    101     return true;
    102 #endif
    103 }
    104 
    105 bool defaultModernUnprefixedWebAudioEnabled()
    106 {
    107 #if PLATFORM(IOS_FAMILY)
    108     return true;
    109 #else
    110     return false;
    111 #endif
    112 }
    113 
    11496} // namespace WebKit
  • trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesExperimental.yaml

    r267592 r267623  
    2626# They must include a humanReadableName and humanReadableDescription. This is
    2727#   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
     29AccessibilityObjectModelEnabled:
     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
     40AdClickAttributionEnabled:
     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
     50AdClickAttributionDebugModeEnabled:
     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.
     62AspectRatioOfImgFromWidthAndHeightEnabled:
     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.
     73AsyncClipboardAPIEnabled:
     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
    3183
    3284BlankAnchorTargetImpliesNoOpenerEnabled:
    3385  type: bool
    34   defaultValue: true
    3586  humanReadableName: "Blank anchor target implies rel=noopener"
    3687  humanReadableDescription: "target=_blank on anchor elements implies rel=noopener"
     88  defaultValue:
     89    WebKitLegacy:
     90      default: true
     91    WebKit:
     92      default: true
     93
     94CoreImageAcceleratedFilterRenderEnabled:
     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
     105CoreMathMLEnabled:
     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
     116CSSCustomPropertiesAndValuesEnabled:
     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.
     127CSSIndividualTransformPropertiesEnabled:
     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
     138CSSOMViewSmoothScrollingEnabled:
     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
     148CSSPaintingAPIEnabled:
     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
     161CSSTypedOMEnabled:
     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
     174DialogElementEnabled:
     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.
     186DisableMediaExperiencePIDInheritance:
     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
    37197
    38198DisallowSyncXHRDuringPageDismissalEnabled:
    39199  type: bool
    40   defaultValue: true
    41200  humanReadableName: "Disallow sync XHR during page dismissal"
    42201  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.
     209ExposeSpeakersEnabled:
     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.
     223FetchAPIKeepAliveEnabled:
     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.
     235GenericCueAPIEnabled:
     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
    49245
    50246GoogleAntiFlickerOptimizationQuirkEnabled:
    51247  type: bool
    52   defaultValue: true
    53248  humanReadableName: "Quirk to prevent delayed initial painting on sites using Google's Anti-Flicker optimization"
    54249  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
    75255
    76256HighlightAPIEnabled:
    77257  type: bool
    78   defaultValue: false
    79258  humanReadableName: "Highlight API"
    80259  humanReadableDescription: "Highlight API support"
    81260  webcoreBinding: RuntimeEnabledFeatures
     261  defaultValue:
     262    WebKitLegacy:
     263      default: false
     264    WebKit:
     265      default: false
    82266
    83267# 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.
     268HDRMediaCapabilitiesEnabled:
     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.
     279HTTP3Enabled:
     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.
     292HTTPSUpgradeEnabled:
     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.
    111303ImageBitmapEnabled:
    112304  type: bool
    113   defaultValue: true
    114305  humanReadableName: "ImageBitmap"
    115306  humanReadableDescription: "Support for the ImageBitmap APIs"
    116307  webcoreBinding: RuntimeEnabledFeatures
     308  defaultValue:
     309    WebKitLegacy:
     310      default: true
     311    WebKit:
     312      "ENABLE(EXPERIMENTAL_FEATURES)" : true
     313      default: false
     314
     315IncrementalPDFLoadingEnabled:
     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()
    117326
    118327# FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well.
    119328IntersectionObserverEnabled:
    120329  type: bool
    121   defaultValue: false
    122330  humanReadableName: "Intersection Observer"
    123331  humanReadableDescription: "Enable Intersection Observer support"
    124332  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.
     340InProcessCookieCacheEnabled:
     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.
     351IsFirstPartyWebsiteDataRemovalDisabled:
     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.
     362IsLoggedInAPIEnabled:
     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.
     374IsNSURLSessionWebSocketEnabled:
     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.
     387IsSameSiteStrictEnforcementEnabled:
     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.
     398IsThirdPartyCookieBlockingDisabled:
     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
     408LazyIframeLoadingEnabled:
     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
     418LazyImageLoadingEnabled:
     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
     428LinkPrefetchEnabled:
     429  type: bool
     430  humanReadableName: "LinkPrefetch"
     431  humanReadableDescription: "Enable LinkedPrefetch"
     432  defaultValue:
     433    WebKitLegacy:
     434      default: false
     435    WebKit:
     436      default: false
     437
     438LinkPreloadResponsiveImagesEnabled:
     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
     448MaskWebGLStringsEnabled:
     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.
     461MediaCapabilitiesExtensionsEnabled:
     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.
     472MediaRecorderEnabled:
     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
     484ModernUnprefixedWebAudioEnabled:
     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
     496PageAtRuleSupportEnabled:
     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.
     508PaintTimingEnabled:
     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.
     520PerElementSpeakerSelectionEnabled:
     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.
     532ProcessSwapOnCrossSiteNavigationEnabled:
     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
     544ReadableByteStreamAPIEnabled:
     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.
     556ReferrerPolicyAttributeEnabled:
     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.
     567RemotePlaybackEnabled:
     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
     578RequestIdleCallbackEnabled:
     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.
     589ResizeObserverEnabled:
     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.
     601ScreenCaptureEnabled:
     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
     612ServerTimingEnabled:
     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
     623ShouldDeferAsynchronousScriptsUntilAfterDocumentLoadOrFirstPaint:
     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.
     634SpringTimingFunctionEnabled:
     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
     645SyntheticEditingCommandsEnabled:
     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
     655ThirdPartyIframeRedirectBlockingEnabled:
     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
     665TransformStreamAPIEnabled:
     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
     676UserGesturePromisePropagationEnabled:
     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
    125686
    126687VisualViewportAPIEnabled:
    127688  type: bool
    128   defaultValue: WebKit::defaultVisualViewportAPIEnabled()
    129689  humanReadableName: "Visual Viewport API"
    130690  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.
     699VP9DecoderEnabled:
     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.
     712VP9SWDecoderEnabledOnBattery:
     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.
    145726WebAnimationsCompositeOperationsEnabled:
    146727  type: bool
    147   defaultValue: false
    148728  humanReadableName: "Web Animations composite operations"
    149729  humanReadableDescription: "Support for the CompositeOperation enum and properties consuming it"
    150730  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.
    153739WebAnimationsMutableTimelinesEnabled:
    154740  type: bool
    155   defaultValue: false
    156741  humanReadableName: "Web Animations mutable timelines"
    157742  humanReadableDescription: "Support for setting the timeline property of an Animation object"
    158743  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.
     752WebAuthenticationEnabled:
     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.
     764WebAuthenticationLocalAuthenticatorEnabled:
     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
    159774
    160775WebGL2Enabled:
    161776  type: bool
    162   defaultValue: true
    163777  humanReadableName: "WebGL 2.0"
    164778  humanReadableDescription: "WebGL 2 prototype"
    165779  webcoreBinding: RuntimeEnabledFeatures
    166780  condition: ENABLE(WEBGL2)
     781  defaultValue:
     782    WebKitLegacy:
     783      default: true
     784    WebKit:
     785      default: true
    167786
    168787WebGPUEnabled:
    169788  type: bool
    170   defaultValue: WebKit::defaultWebGPUEnabled()
    171789  humanReadableName: "WebGPU"
    172790  humanReadableDescription: "WebGPU Sketch prototype"
    173791  webcoreBinding: RuntimeEnabledFeatures
    174792  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.
     800WebMParserEnabled:
     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.
     813WebRTCH264LowLatencyEncoderEnabled:
     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.
     826WebRTCH265CodecEnabled:
     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.
     839WebRTCVP9CodecEnabled:
     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.
     852WebRTCPlatformCodecsInGPUProcessEnabled:
     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
     864WebShareFileAPIEnabled:
     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
    220873
    221874# WebKitLegacy has a preference called WebSQLEnabled, but there is currently no easy
     
    227880#  humanReadableDescription: "Disable Web SQL"
    228881#  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
    388887
    389888WebXREnabled:
    390889  type: bool
    391   defaultValue: WebKit::defaultWebXREnabled()
    392890  humanReadableName: "WebXR Device API"
    393891  humanReadableDescription: "Adds support for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays, on the Web"
    394892  webcoreBinding: RuntimeEnabledFeatures
    395893  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()
    403899
    404900WritableStreamAPIEnabled:
    405901  type: bool
    406   defaultValue: true
    407902  humanReadableName: "WritableStream API"
    408903  humanReadableDescription: "Enable Writable Stream API"
    409904  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.