| Differences between
and this patch
- Source/WebKit/ChangeLog +70 lines
Lines 1-3 Source/WebKit/ChangeLog_sec1
1
2017-10-25  Sam Weinig  <sam@webkit.org>
2
3
        [Settings] Generate the bulk of WebPage::updatePreferences(...)
4
        https://bugs.webkit.org/show_bug.cgi?id=178823
5
6
        Reviewed by Tim Horton.
7
8
        * CMakeLists.txt:
9
        * DerivedSources.make:
10
        * WebKit.xcodeproj/project.pbxproj:
11
12
            Add new file generation.
13
14
        * Scripts/GeneratePreferences.rb:
15
        
16
            Replace 'webkitOnly' boolean option with a new 'webcoreBinding' option.
17
            'webcoreBinding' supports the following values:
18
                - none (same as webkit only)
19
                - custom (means that you do bind to a webcore concept, but currently it must
20
                  be done in a custom manner)
21
                - DeprecatedGlobalSettings (binds to a DeprecatedGlobalSettings setting)
22
                - RuntimeEnabledFeatures (binds to a RuntimeEnabledFeatures setting)
23
            If 'webcoreBinding' is not provided, the preference binds to WebCore Setting
24
            of either the same name or the override name provided by the new 'webcoreName'
25
            option (we should try to remove the need for 'webcoreName' by unifying with 
26
            WebCore on preference/setting naming).
27
            
28
            A 'condition' option was also added to indicate that the preference is only available
29
            when that macro condition is true.
30
            
31
            Since we are generating most of WebPage::updatePreferences, we can simplify the
32
            macros in WebPreferencesDefinitions.h to only have normal/debug/experimental variants
33
            and remove the need for per-type macros, which were only used in WebPage::updatePreferences.
34
        
35
        * Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb: Added.
36
        
37
            Generates bindings from WebPreferences to WebCore::Settings/DeprecatedGlobalSettings/RuntimeEnabledFeatures.
38
            Does not generate a binding if the 'webcoreBinding' option is set to either 'none' or 'custom'.
39
        
40
        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
41
    
42
            Simplify down to just normal/debug/experimental macros.
43
        
44
        * Shared/WebPreferences.yaml:
45
        
46
            Annotate perferences with new optional 'webcoreBinding', 'webcoreName', and 'condition'
47
            options.
48
        
49
        * WebProcess/WebPage/WebPage.cpp:
50
        (WebKit::WebPage::updatePreferences):
51
        
52
            Replace a ton of hand written preference to settings bindings with a call to updatePreferencesGenerated().
53
        
54
        * WebProcess/WebPage/WebPage.h:
55
        
56
            Add declaration of updatePreferencesGenerated, remove platformPreferencesDidChange.
57
58
        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
59
        (WebKit::WebPage::platformPreferencesDidChange): Deleted.
60
        * WebProcess/WebPage/ios/WebPageIOS.mm:
61
        (WebKit::WebPage::platformPreferencesDidChange): Deleted.
62
        * WebProcess/WebPage/mac/WebPageMac.mm:
63
        (WebKit::WebPage::platformPreferencesDidChange): Deleted.
64
        * WebProcess/WebPage/win/WebPageWin.cpp:
65
        (WebKit::WebPage::platformPreferencesDidChange): Deleted.
66
        * WebProcess/WebPage/wpe/WebPageWPE.cpp:
67
        (WebKit::WebPage::platformPreferencesDidChange): Deleted.
68
        
69
            Remove all the empty platformPreferencesDidChange functions.
70
1
2017-10-26  Andy Estes  <aestes@apple.com>
71
2017-10-26  Andy Estes  <aestes@apple.com>
2
72
3
        [Payment Request] Enable Payment Request whenever Apple Pay is enabled
73
        [Payment Request] Enable Payment Request whenever Apple Pay is enabled
- Source/WebKit/CMakeLists.txt -1 / +7 lines
Lines 907-917 list(APPEND WebKit_HEADERS Source/WebKit/CMakeLists.txt_sec1
907
)
907
)
908
908
909
set(WebKit_WEB_PREFERENCES_TEMPLATES
909
set(WebKit_WEB_PREFERENCES_TEMPLATES
910
    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb
910
    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb
911
    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb
911
)
912
)
912
913
913
add_custom_command(
914
add_custom_command(
914
    OUTPUT ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
915
    OUTPUT ${DERIVED_SOURCES_WEBKIT_DIR}/WebPageUpdatePreferences.cpp ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
915
    MAIN_DEPENDENCY ${WEBKIT_DIR}/Shared/WebPreferences.yaml
916
    MAIN_DEPENDENCY ${WEBKIT_DIR}/Shared/WebPreferences.yaml
916
    DEPENDS ${WebKit_WEB_PREFERENCES_TEMPLATES}
917
    DEPENDS ${WebKit_WEB_PREFERENCES_TEMPLATES}
917
    COMMAND ${RUBY_EXECUTABLE} ${WEBKIT_DIR}/Scripts/GeneratePreferences.rb --input ${WEBKIT_DIR}/Shared/WebPreferences.yaml --outputDir "${DERIVED_SOURCES_WEBKIT_DIR}"
918
    COMMAND ${RUBY_EXECUTABLE} ${WEBKIT_DIR}/Scripts/GeneratePreferences.rb --input ${WEBKIT_DIR}/Shared/WebPreferences.yaml --outputDir "${DERIVED_SOURCES_WEBKIT_DIR}"
Lines 921-926 list(APPEND WebKit_HEADERS Source/WebKit/CMakeLists.txt_sec2
921
    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
922
    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
922
)
923
)
923
924
925
list(APPEND WebKit_SOURCES
926
    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPageUpdatePreferences.cpp
927
)
928
929
924
list(APPEND WebKit_SOURCES ${WebKit_DERIVED_SOURCES})
930
list(APPEND WebKit_SOURCES ${WebKit_DERIVED_SOURCES})
925
931
926
WEBKIT_FRAMEWORK(WebKit)
932
WEBKIT_FRAMEWORK(WebKit)
- Source/WebKit/DerivedSources.make -2 / +3 lines
Lines 288-298 all : WebAutomationSessionProxyScriptSou Source/WebKit/DerivedSources.make_sec1
288
# WebPreferences generation
288
# WebPreferences generation
289
289
290
WEB_PREFERENCES_TEMPLATES = \
290
WEB_PREFERENCES_TEMPLATES = \
291
    $(WebKit2)/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb \
291
    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb \
292
    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb \
292
#
293
#
293
294
294
all : WebPreferencesDefinitions.h
295
all : WebPreferencesDefinitions.h WebPageUpdatePreferences.cpp
295
296
296
WebPreferencesDefinitions%h : $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml
297
WebPreferencesDefinitions%h WebPageUpdatePreferences%cpp: $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml
297
	$(RUBY) $< --input $(WebKit2)/Shared/WebPreferences.yaml
298
	$(RUBY) $< --input $(WebKit2)/Shared/WebPreferences.yaml
298
299
- Source/WebKit/Scripts/GeneratePreferences.rb -12 / +30 lines
Lines 67-74 class Preference Source/WebKit/Scripts/GeneratePreferences.rb_sec1
67
  attr_accessor :defaultValue
67
  attr_accessor :defaultValue
68
  attr_accessor :humanReadableName
68
  attr_accessor :humanReadableName
69
  attr_accessor :humanReadableDescription
69
  attr_accessor :humanReadableDescription
70
  attr_accessor :webkitOnly
71
  attr_accessor :category
70
  attr_accessor :category
71
  attr_accessor :webcoreBinding
72
  attr_accessor :condition
72
73
73
  def initialize(name, opts)
74
  def initialize(name, opts)
74
    @name = name
75
    @name = name
Lines 76-84 class Preference Source/WebKit/Scripts/GeneratePreferences.rb_sec2
76
    @defaultValue = opts["defaultValue"]
77
    @defaultValue = opts["defaultValue"]
77
    @humanReadableName = '"' + (opts["humanReadableName"] || "") + '"'
78
    @humanReadableName = '"' + (opts["humanReadableName"] || "") + '"'
78
    @humanReadableDescription = '"' + (opts["humanReadableDescription"] || "") + '"'
79
    @humanReadableDescription = '"' + (opts["humanReadableDescription"] || "") + '"'
79
    @webkitOnly = opts["webkitOnly"]
80
    @category = opts["category"]
80
    @category = opts["category"]
81
    @getter = opts["getter"]
81
    @getter = opts["getter"]
82
    @webcoreBinding = opts["webcoreBinding"]
83
    @webcoreName = opts["webcoreName"]
84
    @condition = opts["condition"]
82
  end
85
  end
83
86
84
  def nameLower
87
  def nameLower
Lines 92-97 class Preference Source/WebKit/Scripts/GeneratePreferences.rb_sec3
92
      @name[0].downcase + @name[1..@name.length]
95
      @name[0].downcase + @name[1..@name.length]
93
    end
96
    end
94
  end
97
  end
98
99
  def webcoreNameUpper
100
    if @webcoreName
101
      @webcoreName[0].upcase + @webcoreName[1..@webcoreName.length]
102
    else
103
      @name
104
    end
105
  end
106
107
  def typeUpper
108
    if @type == "uint32_t"
109
      "UInt32"
110
    else
111
      @type.capitalize
112
    end
113
  end
114
95
end
115
end
96
116
97
class Conditional
117
class Conditional
Lines 114-129 class Preferences Source/WebKit/Scripts/GeneratePreferences.rb_sec4
114
    end
134
    end
115
    @preferences.sort! { |x, y| x.name <=> y.name }
135
    @preferences.sort! { |x, y| x.name <=> y.name }
116
    
136
    
117
    @boolPreferencesNotDebug = @preferences.select { |p| !p.category && !p.webkitOnly && p.type == "bool" }
137
    @preferencesNotDebug = @preferences.select { |p| !p.category }
118
    @doublePreferencesNotDebug = @preferences.select { |p| !p.category && !p.webkitOnly && p.type == "double" }
138
    @preferencesDebug = @preferences.select { |p| p.category == "debug" }
119
    @intPreferencesNotDebug = @preferences.select { |p| !p.category && !p.webkitOnly && p.type == "uint32_t" }
139
    @experimentalFeatures = @preferences.select { |p| p.category == "experimental" }
120
    @stringPreferencesNotDebug = @preferences.select { |p| !p.category && !p.webkitOnly && p.type == "String" }
140
121
    @stringPreferencesNotDebugNotInWebKit = @preferences.select { |p| !p.category && p.webkitOnly && p.type == "String" }
141
    @preferencesBoundToSetting = @preferences.select { |p| !p.webcoreBinding }
122
142
    @preferencesBoundToDeprecatedGlobalSettings = @preferences.select { |p| p.webcoreBinding == "DeprecatedGlobalSettings" }
123
    @boolPreferencesDebug = @preferences.select { |p| p.category == "debug" && !p.webkitOnly && p.type == "bool" }
143
    @preferencesBoundToRuntimeEnabledFeatures = @preferences.select { |p| p.webcoreBinding == "RuntimeEnabledFeatures" }
124
    @intPreferencesDebug = @preferences.select { |p| p.category == "debug" && !p.webkitOnly && p.type == "uint32_t" }
125
126
    @experimentalFeature = @preferences.select { |p| p.category == "experimental" && !p.webkitOnly }
127
  end
144
  end
128
145
129
  def renderToFile(template, file)
146
  def renderToFile(template, file)
Lines 138-140 end Source/WebKit/Scripts/GeneratePreferences.rb_sec5
138
155
139
preferences = Preferences.new(parsedPreferences)
156
preferences = Preferences.new(parsedPreferences)
140
preferences.renderToFile("PreferencesTemplates/WebPreferencesDefinitions.h.erb", File.join(options[:outputDirectory], "WebPreferencesDefinitions.h"))
157
preferences.renderToFile("PreferencesTemplates/WebPreferencesDefinitions.h.erb", File.join(options[:outputDirectory], "WebPreferencesDefinitions.h"))
158
preferences.renderToFile("PreferencesTemplates/WebPageUpdatePreferences.cpp.erb", File.join(options[:outputDirectory], "WebPageUpdatePreferences.cpp"))
- Source/WebKit/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb +75 lines
Line 0 Source/WebKit/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb_sec1
1
/*
2
 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
3
 *
4
 * Copyright (C) 2017 Apple Inc. All rights reserved.
5
 *
6
 * Redistribution and use in source and binary forms, with or without
7
 * modification, are permitted provided that the following conditions
8
 * are met:
9
 * 1. Redistributions of source code must retain the above copyright
10
 *    notice, this list of conditions and the following disclaimer.
11
 * 2. Redistributions in binary form must reproduce the above copyright
12
 *    notice, this list of conditions and the following disclaimer in the
13
 *    documentation and/or other materials provided with the distribution.
14
 *
15
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
16
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
17
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
19
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
25
 * THE POSSIBILITY OF SUCH DAMAGE.
26
 */
27
28
#include "config.h"
29
#include "WebPage.h"
30
31
#include "WebPreferencesKeys.h"
32
#include "WebPreferencesStore.h"
33
#include <WebCore/DeprecatedGlobalSettings.h>
34
#include <WebCore/Page.h>
35
#include <WebCore/RuntimeEnabledFeatures.h>
36
#include <WebCore/Settings.h>
37
38
namespace WebKit {
39
40
void WebPage::updatePreferencesGenerated(const WebPreferencesStore& store)
41
{
42
    WebCore::Settings& settings = m_page->settings();
43
44
<%- for @pref in @preferencesBoundToSetting do -%>
45
<%- if @pref.condition -%>
46
#if <%= @pref.condition %>
47
<%- end -%>
48
    settings.set<%= @pref.webcoreNameUpper %>(store.get<%= @pref.typeUpper %>ValueForKey(WebPreferencesKey::<%= @pref.nameLower %>Key()));
49
<%- if @pref.condition -%>
50
#endif
51
<%- end -%>
52
<%- end -%>
53
54
<%- for @pref in @preferencesBoundToDeprecatedGlobalSettings do -%>
55
<%- if @pref.condition -%>
56
#if <%= @pref.condition %>
57
<%- end -%>
58
    WebCore::DeprecatedGlobalSettings::set<%= @pref.webcoreNameUpper %>(store.get<%= @pref.typeUpper %>ValueForKey(WebPreferencesKey::<%= @pref.nameLower %>Key()));
59
<%- if @pref.condition -%>
60
#endif
61
<%- end -%>
62
<%- end -%>
63
64
<%- for @pref in @preferencesBoundToRuntimeEnabledFeatures do -%>
65
<%- if @pref.condition -%>
66
#if <%= @pref.condition %>
67
<%- end -%>
68
    WebCore::RuntimeEnabledFeatures::sharedFeatures().set<%= @pref.webcoreNameUpper %>(store.get<%= @pref.typeUpper %>ValueForKey(WebPreferencesKey::<%= @pref.nameLower %>Key()));
69
<%- if @pref.condition -%>
70
#endif
71
<%- end -%>
72
<%- end -%>
73
}
74
75
}
- Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb -53 / +7 lines
Lines 31-78 Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb_sec1
31
31
32
// macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue, HumanReadableName, HumanReadableDescription)
32
// macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue, HumanReadableName, HumanReadableDescription)
33
33
34
#define FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \
34
#define FOR_EACH_WEBKIT_PREFERENCE(macro) \
35
<%- for @pref in @boolPreferencesNotDebug do -%>
35
<%- for @pref in @preferencesNotDebug do -%>
36
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, Bool, bool, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
36
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, <%= @pref.typeUpper %>, <%= @pref.type %>, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
37
<%- end -%>
38
    \
39
40
#define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
41
<%- for @pref in @doublePreferencesNotDebug do -%>
42
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, Double, double, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
43
<%- end -%>
44
    \
45
46
#define FOR_EACH_WEBKIT_UINT32_PREFERENCE(macro) \
47
<%- for @pref in @intPreferencesNotDebug do -%>
48
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, UInt32, uint32_t, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
49
<%- end -%>
50
    \
51
52
#define FOR_EACH_WEBKIT_STRING_PREFERENCE(macro) \
53
<%- for @pref in @stringPreferencesNotDebug do -%>
54
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, String, String, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
55
<%- end -%>
56
    \
57
58
#define FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE(macro) \
59
<%- for @pref in @stringPreferencesNotDebugNotInWebKit do -%>
60
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, String, String, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
61
<%- end -%>
37
<%- end -%>
62
    \
38
    \
63
39
64
40
65
// Debug Preferences
41
// Debug Preferences
66
42
67
#define FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
43
#define FOR_EACH_WEBKIT_DEBUG_PREFERENCE(macro) \
68
<%- for @pref in @boolPreferencesDebug do -%>
44
<%- for @pref in @preferencesDebug do -%>
69
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, Bool, bool, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
45
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, <%= @pref.typeUpper %>, <%= @pref.type %>, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
70
<%- end -%>
71
    \
72
73
#define FOR_EACH_WEBKIT_DEBUG_UINT32_PREFERENCE(macro) \
74
<%- for @pref in @intPreferencesDebug do -%>
75
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, UInt32, uint32_t, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
76
<%- end -%>
46
<%- end -%>
77
    \
47
    \
78
48
Lines 80-102 Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb_sec2
80
// Experimental Features
50
// Experimental Features
81
51
82
#define FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(macro) \
52
#define FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(macro) \
83
<%- for @pref in @experimentalFeature do -%>
53
<%- for @pref in @experimentalFeatures do -%>
84
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, Bool, bool, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
54
    macro(<%= @pref.name %>, <%= @pref.nameLower %>, Bool, bool, <%= @pref.defaultValue %>, <%= @pref.humanReadableName %>, <%= @pref.humanReadableDescription %>) \
85
<%- end -%>
55
<%- end -%>
86
    \
56
    \
87
88
89
90
#define FOR_EACH_WEBKIT_DEBUG_PREFERENCE(macro) \
91
    FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
92
    FOR_EACH_WEBKIT_DEBUG_UINT32_PREFERENCE(macro) \
93
    \
94
95
#define FOR_EACH_WEBKIT_PREFERENCE(macro) \
96
    FOR_EACH_WEBKIT_BOOL_PREFERENCE(macro) \
97
    FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
98
    FOR_EACH_WEBKIT_UINT32_PREFERENCE(macro) \
99
    FOR_EACH_WEBKIT_STRING_PREFERENCE(macro) \
100
    FOR_EACH_WEBKIT_STRING_PREFERENCE_NOT_IN_WEBCORE(macro) \
101
    \
102
- Source/WebKit/Shared/WebPreferences.yaml -6 / +145 lines
Lines 2-11 Source/WebKit/Shared/WebPreferences.yaml_sec1
2
JavaScriptEnabled:
2
JavaScriptEnabled:
3
  type: bool
3
  type: bool
4
  defaultValue: true
4
  defaultValue: true
5
  webcoreName: scriptEnabled
5
6
6
JavaScriptMarkupEnabled:
7
JavaScriptMarkupEnabled:
7
  type: bool
8
  type: bool
8
  defaultValue: true
9
  defaultValue: true
10
  webcoreName: scriptMarkupEnabled
9
11
10
LoadsImagesAutomatically:
12
LoadsImagesAutomatically:
11
  type: bool
13
  type: bool
Lines 14-19 LoadsImagesAutomatically: Source/WebKit/Shared/WebPreferences.yaml_sec2
14
LoadsSiteIconsIgnoringImageLoadingPreference:
16
LoadsSiteIconsIgnoringImageLoadingPreference:
15
  type: bool
17
  type: bool
16
  defaultValue: false
18
  defaultValue: false
19
  webcoreName: loadsSiteIconsIgnoringImageLoadingSetting
17
20
18
PluginsEnabled:
21
PluginsEnabled:
19
  type: bool
22
  type: bool
Lines 38-43 LocalStorageEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec3
38
DatabasesEnabled:
41
DatabasesEnabled:
39
  type: bool
42
  type: bool
40
  defaultValue: true
43
  defaultValue: true
44
  webcoreBinding: custom
41
45
42
XSSAuditorEnabled:
46
XSSAuditorEnabled:
43
  type: bool
47
  type: bool
Lines 46-51 XSSAuditorEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec4
46
PrivateBrowsingEnabled:
50
PrivateBrowsingEnabled:
47
  type: bool
51
  type: bool
48
  defaultValue: false
52
  defaultValue: false
53
  webcoreBinding: none
49
54
50
TextAreasAreResizable:
55
TextAreasAreResizable:
51
  type: bool
56
  type: bool
Lines 70-75 AcceleratedCompositingEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec5
70
ForceCompositingMode:
75
ForceCompositingMode:
71
  type: bool
76
  type: bool
72
  defaultValue: false
77
  defaultValue: false
78
  webcoreBinding: none
73
79
74
CanvasUsesAcceleratedDrawing:
80
CanvasUsesAcceleratedDrawing:
75
  type: bool
81
  type: bool
Lines 90-95 Accelerated2dCanvasEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec6
90
CSSAnimationTriggersEnabled:
96
CSSAnimationTriggersEnabled:
91
  type: bool
97
  type: bool
92
  defaultValue: true
98
  defaultValue: true
99
  webcoreBinding: RuntimeEnabledFeatures
100
  webcoreName: animationTriggersEnabled
101
  condition: ENABLE(CSS_ANIMATIONS_LEVEL_2)
93
102
94
ForceFTPDirectoryListings:
103
ForceFTPDirectoryListings:
95
  type: bool
104
  type: bool
Lines 98-103 ForceFTPDirectoryListings: Source/WebKit/Shared/WebPreferences.yaml_sec7
98
TabsToLinks:
107
TabsToLinks:
99
  type: bool
108
  type: bool
100
  defaultValue: DEFAULT_WEBKIT_TABSTOLINKS_ENABLED
109
  defaultValue: DEFAULT_WEBKIT_TABSTOLINKS_ENABLED
110
  webcoreBinding: none
101
111
102
DNSPrefetchingEnabled:
112
DNSPrefetchingEnabled:
103
  type: bool
113
  type: bool
Lines 110-115 DOMTimersThrottlingEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec8
110
WebArchiveDebugModeEnabled:
120
WebArchiveDebugModeEnabled:
111
  type: bool
121
  type: bool
112
  defaultValue: false
122
  defaultValue: false
123
  condition: ENABLE(WEB_ARCHIVE)
113
124
114
LocalFileContentSniffingEnabled:
125
LocalFileContentSniffingEnabled:
115
  type: bool
126
  type: bool
Lines 146-155 ShouldPrintBackgrounds: Source/WebKit/Shared/WebPreferences.yaml_sec9
146
LinkPreconnect:
157
LinkPreconnect:
147
  type: bool
158
  type: bool
148
  defaultValue: DEFAULT_LINK_PRECONNECT_ENABLED
159
  defaultValue: DEFAULT_LINK_PRECONNECT_ENABLED
160
  webcoreName: linkPreconnectEnabled
149
161
150
FullScreenEnabled:
162
FullScreenEnabled:
151
  type: bool
163
  type: bool
152
  defaultValue: false
164
  defaultValue: false
165
  condition: ENABLE(FULLSCREEN_API)
153
166
154
AsynchronousSpellCheckingEnabled:
167
AsynchronousSpellCheckingEnabled:
155
  type: bool
168
  type: bool
Lines 171-198 AVFoundationEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec10
171
  type: bool
184
  type: bool
172
  defaultValue: true
185
  defaultValue: true
173
  getter: isAVFoundationEnabled
186
  getter: isAVFoundationEnabled
187
  webcoreBinding: DeprecatedGlobalSettings
188
  condition: USE(AVFOUNDATION)
174
189
175
AVFoundationNSURLSessionEnabled:
190
AVFoundationNSURLSessionEnabled:
176
  type: bool
191
  type: bool
177
  defaultValue: true
192
  defaultValue: true
178
  getter: isAVFoundationNSURLSessionEnabled
193
  getter: isAVFoundationNSURLSessionEnabled
194
  webcoreBinding: DeprecatedGlobalSettings
195
  condition: USE(AVFOUNDATION)
179
196
180
GStreamerEnabled:
197
GStreamerEnabled:
181
  type: bool
198
  type: bool
182
  defaultValue: true
199
  defaultValue: true
183
  getter: isGStreamerEnabled
200
  getter: isGStreamerEnabled
201
  webcoreBinding: DeprecatedGlobalSettings
202
  condition: USE(GSTREAMER)
184
203
185
RequiresUserGestureForMediaPlayback:
204
RequiresUserGestureForMediaPlayback:
186
  type: bool
205
  type: bool
187
  defaultValue: false
206
  defaultValue: false
207
  webcoreBinding: custom
188
208
189
RequiresUserGestureForVideoPlayback:
209
RequiresUserGestureForVideoPlayback:
190
  type: bool
210
  type: bool
191
  defaultValue: false
211
  defaultValue: false
212
  webcoreBinding: custom
192
213
193
RequiresUserGestureForAudioPlayback:
214
RequiresUserGestureForAudioPlayback:
194
  type: bool
215
  type: bool
195
  defaultValue: DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK
216
  defaultValue: DEFAULT_REQUIRES_USER_GESTURE_FOR_AUDIO_PLAYBACK
217
  webcoreBinding: custom
196
218
197
RequiresUserGestureToLoadVideo:
219
RequiresUserGestureToLoadVideo:
198
  type: bool
220
  type: bool
Lines 233-238 AllowsPictureInPictureMediaPlayback: Source/WebKit/Shared/WebPreferences.yaml_sec11
233
AllowsAirPlayForMediaPlayback:
255
AllowsAirPlayForMediaPlayback:
234
  type: bool
256
  type: bool
235
  defaultValue: true
257
  defaultValue: true
258
  condition: ENABLE(WIRELESS_PLAYBACK_TARGET)
236
259
237
MediaControlsScaleWithPageZoom:
260
MediaControlsScaleWithPageZoom:
238
  type: bool
261
  type: bool
Lines 241-246 MediaControlsScaleWithPageZoom: Source/WebKit/Shared/WebPreferences.yaml_sec12
241
InspectorStartsAttached:
264
InspectorStartsAttached:
242
  type: bool
265
  type: bool
243
  defaultValue: true
266
  defaultValue: true
267
  webcoreBinding: none
244
268
245
ShowsToolTipOverTruncatedText:
269
ShowsToolTipOverTruncatedText:
246
  type: bool
270
  type: bool
Lines 249-262 ShowsToolTipOverTruncatedText: Source/WebKit/Shared/WebPreferences.yaml_sec13
249
MockScrollbarsEnabled:
273
MockScrollbarsEnabled:
250
  type: bool
274
  type: bool
251
  defaultValue: false
275
  defaultValue: false
276
  webcoreBinding: DeprecatedGlobalSettings
252
277
253
WebAudioEnabled:
278
WebAudioEnabled:
254
  type: bool
279
  type: bool
255
  defaultValue: true
280
  defaultValue: true
281
  condition: ENABLE(WEB_AUDIO)
256
282
257
AttachmentElementEnabled:
283
AttachmentElementEnabled:
258
  type: bool
284
  type: bool
259
  defaultValue: false
285
  defaultValue: false
286
  webcoreBinding: RuntimeEnabledFeatures
287
  condition: ENABLE(ATTACHMENT_ELEMENT)
260
288
261
SuppressesIncrementalRendering:
289
SuppressesIncrementalRendering:
262
  type: bool
290
  type: bool
Lines 273-290 CaretBrowsingEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec14
273
ShouldDisplaySubtitles:
301
ShouldDisplaySubtitles:
274
  type: bool
302
  type: bool
275
  defaultValue: false
303
  defaultValue: false
304
  condition: ENABLE(VIDEO_TRACK)
276
305
277
ShouldDisplayCaptions:
306
ShouldDisplayCaptions:
278
  type: bool
307
  type: bool
279
  defaultValue: false
308
  defaultValue: false
309
  condition: ENABLE(VIDEO_TRACK)
280
310
281
ShouldDisplayTextDescriptions:
311
ShouldDisplayTextDescriptions:
282
  type: bool
312
  type: bool
283
  defaultValue: false
313
  defaultValue: false
314
  condition: ENABLE(VIDEO_TRACK)
284
315
285
NotificationsEnabled:
316
NotificationsEnabled:
286
  type: bool
317
  type: bool
287
  defaultValue: true
318
  defaultValue: true
319
  condition: ENABLE(NOTIFICATIONS)
288
320
289
ShouldRespectImageOrientation:
321
ShouldRespectImageOrientation:
290
  type: bool
322
  type: bool
Lines 305-330 DiagnosticLoggingEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec15
305
AsynchronousPluginInitializationEnabled:
337
AsynchronousPluginInitializationEnabled:
306
  type: bool
338
  type: bool
307
  defaultValue: false
339
  defaultValue: false
340
  webcoreBinding: none
308
341
309
AsynchronousPluginInitializationEnabledForAllPlugins:
342
AsynchronousPluginInitializationEnabledForAllPlugins:
310
  type: bool
343
  type: bool
311
  defaultValue: false
344
  defaultValue: false
345
  webcoreBinding: none
312
346
313
ArtificialPluginInitializationDelayEnabled:
347
ArtificialPluginInitializationDelayEnabled:
314
  type: bool
348
  type: bool
315
  defaultValue: false
349
  defaultValue: false
350
  webcoreBinding: none
316
351
352
# FIXME: What is this?
317
TabToLinksEnabled:
353
TabToLinksEnabled:
318
  type: bool
354
  type: bool
319
  defaultValue: false
355
  defaultValue: false
356
  webcoreBinding: none
320
357
321
ScrollingPerformanceLoggingEnabled:
358
ScrollingPerformanceLoggingEnabled:
322
  type: bool
359
  type: bool
323
  defaultValue: false
360
  defaultValue: false
361
  webcoreBinding: custom
324
362
325
ScrollAnimatorEnabled:
363
ScrollAnimatorEnabled:
326
  type: bool
364
  type: bool
327
  defaultValue: DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED
365
  defaultValue: DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED
366
  condition: ENABLE(SMOOTH_SCROLLING)
328
367
329
ForceUpdateScrollbarsOnMainThreadForPerformanceTesting:
368
ForceUpdateScrollbarsOnMainThreadForPerformanceTesting:
330
  type: bool
369
  type: bool
Lines 353-358 PrimaryPlugInSnapshotDetectionEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec16
353
PDFPluginEnabled:
392
PDFPluginEnabled:
354
  type: bool
393
  type: bool
355
  defaultValue: DEFAULT_PDFPLUGIN_ENABLED
394
  defaultValue: DEFAULT_PDFPLUGIN_ENABLED
395
  webcoreBinding: none
396
  condition: PLATFORM(COCOA)
356
397
357
UsesEncodingDetector:
398
UsesEncodingDetector:
358
  type: bool
399
  type: bool
Lines 361-366 UsesEncodingDetector: Source/WebKit/Shared/WebPreferences.yaml_sec17
361
TextAutosizingEnabled:
402
TextAutosizingEnabled:
362
  type: bool
403
  type: bool
363
  defaultValue: WebCore::Settings::defaultTextAutosizingEnabled()
404
  defaultValue: WebCore::Settings::defaultTextAutosizingEnabled()
405
  condition: ENABLE(TEXT_AUTOSIZING)
364
406
365
AggressiveTileRetentionEnabled:
407
AggressiveTileRetentionEnabled:
366
  type: bool
408
  type: bool
Lines 374-383 QTKitEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec18
374
  type: bool
416
  type: bool
375
  defaultValue: WebCore::DeprecatedGlobalSettings::isQTKitEnabled()
417
  defaultValue: WebCore::DeprecatedGlobalSettings::isQTKitEnabled()
376
  getter: isQTKitEnabled
418
  getter: isQTKitEnabled
419
  webcoreBinding: DeprecatedGlobalSettings
420
  condition: PLATFORM(COCOA)
377
421
378
PageVisibilityBasedProcessSuppressionEnabled:
422
PageVisibilityBasedProcessSuppressionEnabled:
379
  type: bool
423
  type: bool
380
  defaultValue: true
424
  defaultValue: true
425
  webcoreBinding: none
381
426
382
SmartInsertDeleteEnabled:
427
SmartInsertDeleteEnabled:
383
  type: bool
428
  type: bool
Lines 390-395 SelectTrailingWhitespaceEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec19
390
ShowsURLsInToolTipsEnabled:
435
ShowsURLsInToolTipsEnabled:
391
  type: bool
436
  type: bool
392
  defaultValue: false
437
  defaultValue: false
438
  webcoreName: showsURLsInToolTips
393
439
394
AcceleratedCompositingForOverflowScrollEnabled:
440
AcceleratedCompositingForOverflowScrollEnabled:
395
  type: bool
441
  type: bool
Lines 410-419 HiddenPageCSSAnimationSuspensionEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec20
410
LowPowerVideoAudioBufferSizeEnabled:
456
LowPowerVideoAudioBufferSizeEnabled:
411
  type: bool
457
  type: bool
412
  defaultValue: false
458
  defaultValue: false
459
  webcoreBinding: DeprecatedGlobalSettings
413
460
414
ThreadedScrollingEnabled:
461
ThreadedScrollingEnabled:
415
  type: bool
462
  type: bool
416
  defaultValue: true
463
  defaultValue: true
464
  webcoreBinding: none
417
465
418
SimpleLineLayoutEnabled:
466
SimpleLineLayoutEnabled:
419
  type: bool
467
  type: bool
Lines 430-443 UseGiantTiles: Source/WebKit/Shared/WebPreferences.yaml_sec21
430
MediaDevicesEnabled:
478
MediaDevicesEnabled:
431
  type: bool
479
  type: bool
432
  defaultValue: false
480
  defaultValue: false
481
  webcoreBinding: RuntimeEnabledFeatures
482
  condition: ENABLE(MEDIA_STREAM)
433
483
434
MediaStreamEnabled:
484
MediaStreamEnabled:
435
  type: bool
485
  type: bool
436
  defaultValue: true
486
  defaultValue: true
487
  webcoreBinding: RuntimeEnabledFeatures
488
  condition: ENABLE(MEDIA_STREAM)
437
489
438
PeerConnectionEnabled:
490
PeerConnectionEnabled:
439
  type: bool
491
  type: bool
440
  defaultValue: WebCore::LibWebRTCProvider::webRTCAvailable()
492
  defaultValue: WebCore::LibWebRTCProvider::webRTCAvailable()
493
  webcoreBinding: RuntimeEnabledFeatures
494
  condition: ENABLE(WEB_RTC)
441
495
442
UseLegacyTextAlignPositionedElementBehavior:
496
UseLegacyTextAlignPositionedElementBehavior:
443
  type: bool
497
  type: bool
Lines 450-459 SpatialNavigationEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec22
450
MediaSourceEnabled:
504
MediaSourceEnabled:
451
  type: bool
505
  type: bool
452
  defaultValue: true
506
  defaultValue: true
507
  condition: ENABLE(MEDIA_SOURCE)
453
508
454
ViewGestureDebuggingEnabled:
509
ViewGestureDebuggingEnabled:
455
  type: bool
510
  type: bool
456
  defaultValue: false
511
  defaultValue: false
512
  webcoreBinding: none
457
513
458
ShouldConvertPositionStyleOnCopy:
514
ShouldConvertPositionStyleOnCopy:
459
  type: bool
515
  type: bool
Lines 482-487 PasswordEchoEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec23
482
ImageControlsEnabled:
538
ImageControlsEnabled:
483
  type: bool
539
  type: bool
484
  defaultValue: false
540
  defaultValue: false
541
  condition: ENABLE(SERVICE_CONTROLS)
485
542
486
EnableInheritURIQueryComponent:
543
EnableInheritURIQueryComponent:
487
  type: bool
544
  type: bool
Lines 490-495 EnableInheritURIQueryComponent: Source/WebKit/Shared/WebPreferences.yaml_sec24
490
ServiceControlsEnabled:
547
ServiceControlsEnabled:
491
  type: bool
548
  type: bool
492
  defaultValue: false
549
  defaultValue: false
550
  condition: ENABLE(SERVICE_CONTROLS)
493
551
494
DeferredCSSParserEnabled:
552
DeferredCSSParserEnabled:
495
  type: bool
553
  type: bool
Lines 498-537 DeferredCSSParserEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec25
498
HTTPEquivEnabled:
556
HTTPEquivEnabled:
499
  type: bool
557
  type: bool
500
  defaultValue: true
558
  defaultValue: true
559
  webcoreName: httpEquivEnabled
501
560
502
MockCaptureDevicesEnabled:
561
MockCaptureDevicesEnabled:
503
  type: bool
562
  type: bool
504
  defaultValue: false
563
  defaultValue: false
564
  webcoreBinding: DeprecatedGlobalSettings
565
  condition: ENABLE(MEDIA_STREAM)
505
566
506
MockCaptureDevicesPromptEnabled:
567
MockCaptureDevicesPromptEnabled:
507
  type: bool
568
  type: bool
508
  defaultValue: true
569
  defaultValue: true
570
  webcoreBinding: none
509
571
510
MediaCaptureRequiresSecureConnection:
572
MediaCaptureRequiresSecureConnection:
511
  type: bool
573
  type: bool
512
  defaultValue: true
574
  defaultValue: true
575
  webcoreBinding: DeprecatedGlobalSettings
576
  condition: ENABLE(MEDIA_STREAM)
513
577
578
# FIXME: What is this for?
514
EnumeratingAllNetworkInterfacesEnabled:
579
EnumeratingAllNetworkInterfacesEnabled:
515
  type: bool
580
  type: bool
516
  defaultValue: false
581
  defaultValue: false
582
  webcoreBinding: none
517
583
584
# FIXME: What is this for?
518
ICECandidateFilteringEnabled:
585
ICECandidateFilteringEnabled:
519
  type: bool
586
  type: bool
520
  defaultValue: true
587
  defaultValue: true
588
  webcoreBinding: none
521
589
522
ShadowDOMEnabled:
590
ShadowDOMEnabled:
523
  type: bool
591
  type: bool
524
  defaultValue: true
592
  defaultValue: true
525
  humanReadableName: "Shadow DOM"
593
  humanReadableName: "Shadow DOM"
526
  humanReadableDescription: "HTML Shadow DOM prototype"
594
  humanReadableDescription: "HTML Shadow DOM prototype"
595
  webcoreBinding: RuntimeEnabledFeatures
527
596
528
FetchAPIEnabled:
597
FetchAPIEnabled:
529
  type: bool
598
  type: bool
530
  defaultValue: true
599
  defaultValue: true
600
  webcoreBinding: RuntimeEnabledFeatures
531
601
532
DownloadAttributeEnabled:
602
DownloadAttributeEnabled:
533
  type: bool
603
  type: bool
534
  defaultValue: true
604
  defaultValue: true
605
  webcoreBinding: RuntimeEnabledFeatures
606
  condition: ENABLE(DOWNLOAD_ATTRIBUTE)
535
607
536
SelectionPaintingWithoutSelectionGapsEnabled:
608
SelectionPaintingWithoutSelectionGapsEnabled:
537
  type: bool
609
  type: bool
Lines 540-549 SelectionPaintingWithoutSelectionGapsEna Source/WebKit/Shared/WebPreferences.yaml_sec26
540
ApplePayEnabled:
612
ApplePayEnabled:
541
  type: bool
613
  type: bool
542
  defaultValue: false
614
  defaultValue: false
615
  condition: ENABLE(APPLE_PAY)
543
616
544
ApplePayCapabilityDisclosureAllowed:
617
ApplePayCapabilityDisclosureAllowed:
545
  type: bool
618
  type: bool
546
  defaultValue: true
619
  defaultValue: true
620
  condition: ENABLE(APPLE_PAY)
547
621
548
VisualViewportEnabled:
622
VisualViewportEnabled:
549
  type: bool
623
  type: bool
Lines 564-589 AnimatedImageAsyncDecodingEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec27
564
CustomElementsEnabled:
638
CustomElementsEnabled:
565
  type: bool
639
  type: bool
566
  defaultValue: true
640
  defaultValue: true
641
  webcoreBinding: RuntimeEnabledFeatures
567
642
568
EncryptedMediaAPIEnabled:
643
EncryptedMediaAPIEnabled:
569
  type: bool
644
  type: bool
570
  defaultValue: false
645
  defaultValue: false
646
  webcoreBinding: RuntimeEnabledFeatures
647
  condition: ENABLE(ENCRYPTED_MEDIA)
571
648
572
MediaPreloadingEnabled:
649
MediaPreloadingEnabled:
573
  type: bool
650
  type: bool
574
  defaultValue: false
651
  defaultValue: false
652
  webcoreBinding: RuntimeEnabledFeatures
575
653
576
IntersectionObserverEnabled:
654
IntersectionObserverEnabled:
577
  type: bool
655
  type: bool
578
  defaultValue: false
656
  defaultValue: false
579
  humanReadableName: "Intersection Observer"
657
  humanReadableName: "Intersection Observer"
580
  humanReadableDescription: "Enable Intersection Observer support"
658
  humanReadableDescription: "Enable Intersection Observer support"
659
  webcoreBinding: RuntimeEnabledFeatures
660
  condition: ENABLE(INTERSECTION_OBSERVER)
581
661
582
InteractiveFormValidationEnabled:
662
InteractiveFormValidationEnabled:
583
  type: bool
663
  type: bool
584
  defaultValue: true
664
  defaultValue: true
585
  humanReadableName: "HTML Interactive Form Validation"
665
  humanReadableName: "HTML Interactive Form Validation"
586
  humanReadableDescription: "HTML interactive form validation"
666
  humanReadableDescription: "HTML interactive form validation"
667
  webcoreBinding: RuntimeEnabledFeatures
587
668
588
ShouldSuppressTextInputFromEditingDuringProvisionalNavigation:
669
ShouldSuppressTextInputFromEditingDuringProvisionalNavigation:
589
  type: bool
670
  type: bool
Lines 594-647 CSSGridLayoutEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec28
594
  defaultValue: true
675
  defaultValue: true
595
  humanReadableName: "CSS Grid"
676
  humanReadableName: "CSS Grid"
596
  humanReadableDescription: "CSS Grid Layout Module support"
677
  humanReadableDescription: "CSS Grid Layout Module support"
678
  binding: RuntimeEnabledFeatures
679
  webcoreBinding: RuntimeEnabledFeatures
597
680
598
GamepadsEnabled:
681
GamepadsEnabled:
599
  type: bool
682
  type: bool
600
  defaultValue: true
683
  defaultValue: true
601
  humanReadableName: "Gamepads"
684
  humanReadableName: "Gamepads"
602
  humanReadableDescription: "Web Gamepad API support"
685
  humanReadableDescription: "Web Gamepad API support"
686
  webcoreBinding: RuntimeEnabledFeatures
687
  condition: ENABLE(GAMEPAD)
603
688
604
InputEventsEnabled:
689
InputEventsEnabled:
605
  type: bool
690
  type: bool
606
  defaultValue: true
691
  defaultValue: true
607
  humanReadableName: "Input Events"
692
  humanReadableName: "Input Events"
608
  humanReadableDescription: "Enable InputEvents support"
693
  humanReadableDescription: "Enable InputEvents support"
694
  webcoreBinding: RuntimeEnabledFeatures
609
695
610
CredentialManagementEnabled:
696
CredentialManagementEnabled:
611
  type: bool
697
  type: bool
612
  defaultValue: false
698
  defaultValue: false
613
  humanReadableName: "Credential Management"
699
  humanReadableName: "Credential Management"
614
  humanReadableDescription: "Enable Credential Management support"
700
  humanReadableDescription: "Enable Credential Management support"
701
  webcoreBinding: RuntimeEnabledFeatures
615
702
616
ModernMediaControlsEnabled:
703
ModernMediaControlsEnabled:
617
  type: bool
704
  type: bool
618
  defaultValue: DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED
705
  defaultValue: DEFAULT_MODERN_MEDIA_CONTROLS_ENABLED
619
  humanReadableName: "Modern Media Controls"
706
  humanReadableName: "Modern Media Controls"
620
  humanReadableDescription: "Use modern media controls look"
707
  humanReadableDescription: "Use modern media controls look"
708
  webcoreBinding: RuntimeEnabledFeatures
621
709
622
ResourceTimingEnabled:
710
ResourceTimingEnabled:
623
  type: bool
711
  type: bool
624
  defaultValue: DEFAULT_RESOURCE_TIMING_ENABLED
712
  defaultValue: DEFAULT_RESOURCE_TIMING_ENABLED
625
  humanReadableName: "Resource Timing"
713
  humanReadableName: "Resource Timing"
626
  humanReadableDescription: "Enable ResourceTiming API"
714
  humanReadableDescription: "Enable ResourceTiming API"
715
  webcoreBinding: RuntimeEnabledFeatures
627
716
628
UserTimingEnabled:
717
UserTimingEnabled:
629
  type: bool
718
  type: bool
630
  defaultValue: true
719
  defaultValue: true
631
  humanReadableName: "User Timing"
720
  humanReadableName: "User Timing"
632
  humanReadableDescription: "Enable UserTiming API"
721
  humanReadableDescription: "Enable UserTiming API"
722
  webcoreBinding: RuntimeEnabledFeatures
633
723
634
BeaconAPIEnabled:
724
BeaconAPIEnabled:
635
  type: bool
725
  type: bool
636
  defaultValue: true
726
  defaultValue: true
637
  humanReadableName: "Beacon API"
727
  humanReadableName: "Beacon API"
638
  humanReadableDescription: "Beacon API"
728
  humanReadableDescription: "Beacon API"
729
  condition: ENABLE(BEACON_API)
639
730
640
LegacyEncryptedMediaAPIEnabled:
731
LegacyEncryptedMediaAPIEnabled:
641
  type: bool
732
  type: bool
642
  defaultValue: DEFAULT_LEGACY_ENCRYPTED_MEDIA_API_ENABLED
733
  defaultValue: DEFAULT_LEGACY_ENCRYPTED_MEDIA_API_ENABLED
643
  humanReadableName: "Enable Legacy EME API"
734
  humanReadableName: "Enable Legacy EME API"
644
  humanReadableDescription: "Enable legacy EME API"
735
  humanReadableDescription: "Enable legacy EME API"
736
  webcoreBinding: RuntimeEnabledFeatures
737
  condition: ENABLE(LEGACY_ENCRYPTED_MEDIA)
645
738
646
AllowMediaContentTypesRequiringHardwareSupportAsFallback:
739
AllowMediaContentTypesRequiringHardwareSupportAsFallback:
647
  type: bool
740
  type: bool
Lines 654-683 InspectorAdditionsEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec29
654
  defaultValue: false
747
  defaultValue: false
655
  humanReadableName: "Web Inspector Additions"
748
  humanReadableName: "Web Inspector Additions"
656
  humanReadableDescription: "Enable additional page APIs used by the Web Inspector frontend page"
749
  humanReadableDescription: "Enable additional page APIs used by the Web Inspector frontend page"
750
  webcoreBinding: RuntimeEnabledFeatures
657
751
658
DirectoryUploadEnabled:
752
DirectoryUploadEnabled:
659
  type: bool
753
  type: bool
660
  defaultValue: DEFAULT_DIRECTORY_UPLOAD_ENABLED
754
  defaultValue: DEFAULT_DIRECTORY_UPLOAD_ENABLED
661
  humanReadableName: "Directory Upload"
755
  humanReadableName: "Directory Upload"
662
  humanReadableDescription: "input.webkitdirectory / dataTransferItem.webkitGetAsEntry()"
756
  humanReadableDescription: "input.webkitdirectory / dataTransferItem.webkitGetAsEntry()"
757
  webcoreBinding: RuntimeEnabledFeatures
663
758
664
DataTransferItemsEnabled:
759
DataTransferItemsEnabled:
665
  type: bool
760
  type: bool
666
  defaultValue: DEFAULT_DATA_TRANSFER_ITEMS_ENABLED
761
  defaultValue: DEFAULT_DATA_TRANSFER_ITEMS_ENABLED
667
  humanReadableName: "Data Transfer Items"
762
  humanReadableName: "Data Transfer Items"
668
  humanReadableDescription: "Enables DataTransferItem in the clipboard API"
763
  humanReadableDescription: "Enables DataTransferItem in the clipboard API"
764
  webcoreBinding: RuntimeEnabledFeatures
669
765
670
CustomPasteboardDataEnabled:
766
CustomPasteboardDataEnabled:
671
  type: bool
767
  type: bool
672
  defaultValue: WebCore::DeprecatedGlobalSettings::defaultCustomPasteboardDataEnabled()
768
  defaultValue: WebCore::DeprecatedGlobalSettings::defaultCustomPasteboardDataEnabled()
673
  humanReadableName: "Custom pateboard data"
769
  humanReadableName: "Custom pateboard data"
674
  humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API."
770
  humanReadableDescription: "Enable custom clipboard types and better security model for clipboard API."
771
  webcoreBinding: DeprecatedGlobalSettings
675
772
676
WebVREnabled:
773
WebVREnabled:
677
  type: bool
774
  type: bool
678
  defaultValue: false
775
  defaultValue: false
679
  humanReadableName: "WebVR"
776
  humanReadableName: "WebVR"
680
  humanReadableDescription: "WebVR Module support"
777
  humanReadableDescription: "WebVR Module support"
778
  webcoreBinding: RuntimeEnabledFeatures
681
779
682
ViewportFitEnabled:
780
ViewportFitEnabled:
683
  type: bool
781
  type: bool
Lines 688-693 ViewportFitEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec30
688
IncrementalRenderingSuppressionTimeout:
786
IncrementalRenderingSuppressionTimeout:
689
  type: double
787
  type: double
690
  defaultValue: 5
788
  defaultValue: 5
789
  webcoreName: incrementalRenderingSuppressionTimeoutInSeconds
691
790
692
MinimumFontSize:
791
MinimumFontSize:
693
  type: double
792
  type: double
Lines 700-705 MinimumLogicalFontSize: Source/WebKit/Shared/WebPreferences.yaml_sec31
700
MinimumZoomFontSize:
799
MinimumZoomFontSize:
701
  type: double
800
  type: double
702
  defaultValue: WebCore::Settings::defaultMinimumZoomFontSize()
801
  defaultValue: WebCore::Settings::defaultMinimumZoomFontSize()
802
  condition: ENABLE(TEXT_AUTOSIZING)
703
803
704
DefaultFontSize:
804
DefaultFontSize:
705
  type: double
805
  type: double
Lines 712-717 DefaultFixedFontSize: Source/WebKit/Shared/WebPreferences.yaml_sec32
712
LayoutInterval:
812
LayoutInterval:
713
  type: double
813
  type: double
714
  defaultValue: -1
814
  defaultValue: -1
815
  webcoreBinding: custom
715
816
716
MaxParseDuration:
817
MaxParseDuration:
717
  type: double
818
  type: double
Lines 720-729 MaxParseDuration: Source/WebKit/Shared/WebPreferences.yaml_sec33
720
PasswordEchoDuration:
821
PasswordEchoDuration:
721
  type: double
822
  type: double
722
  defaultValue: 2
823
  defaultValue: 2
824
  webcoreName: passwordEchoDurationInSeconds
723
825
826
# FIXME: 
724
FontSmoothingLevel:
827
FontSmoothingLevel:
725
  type: uint32_t
828
  type: uint32_t
726
  defaultValue: FontSmoothingLevelMedium
829
  defaultValue: FontSmoothingLevelMedium
830
  webcoreBinding: none
727
831
728
LayoutFallbackWidth:
832
LayoutFallbackWidth:
729
  type: uint32_t
833
  type: uint32_t
Lines 740-781 DeviceHeight: Source/WebKit/Shared/WebPreferences.yaml_sec34
740
EditableLinkBehavior:
844
EditableLinkBehavior:
741
  type: uint32_t
845
  type: uint32_t
742
  defaultValue: WebCore::EditableLinkNeverLive
846
  defaultValue: WebCore::EditableLinkNeverLive
847
  webcoreBinding: custom
743
848
744
InspectorAttachedHeight:
849
InspectorAttachedHeight:
745
  type: uint32_t
850
  type: uint32_t
746
  defaultValue: 300
851
  defaultValue: 300
852
  webcoreBinding: none
747
853
748
InspectorAttachedWidth:
854
InspectorAttachedWidth:
749
  type: uint32_t
855
  type: uint32_t
750
  defaultValue: 750
856
  defaultValue: 750
857
  webcoreBinding: none
751
858
752
InspectorAttachmentSide:
859
InspectorAttachmentSide:
753
  type: uint32_t
860
  type: uint32_t
754
  defaultValue: 0
861
  defaultValue: 0
862
  webcoreBinding: none
755
863
756
StorageBlockingPolicy:
864
StorageBlockingPolicy:
757
  type: uint32_t
865
  type: uint32_t
758
  defaultValue: WebCore::SecurityOrigin::BlockThirdPartyStorage
866
  defaultValue: WebCore::SecurityOrigin::BlockThirdPartyStorage
867
  webcoreBinding: custom
759
868
760
JavaScriptRuntimeFlags:
869
JavaScriptRuntimeFlags:
761
  type: uint32_t
870
  type: uint32_t
762
  defaultValue: 0
871
  defaultValue: 0
872
  webcoreBinding: custom
763
873
764
DataDetectorTypes:
874
DataDetectorTypes:
765
  type: uint32_t
875
  type: uint32_t
766
  defaultValue: 0
876
  defaultValue: 0
877
  webcoreBinding: custom
878
  condition: ENABLE(DATA_DETECTION)
767
879
768
UserInterfaceDirectionPolicy:
880
UserInterfaceDirectionPolicy:
769
  type: uint32_t
881
  type: uint32_t
770
  defaultValue: 0
882
  defaultValue: 0
883
  webcoreBinding: custom
771
884
772
SystemLayoutDirection:
885
SystemLayoutDirection:
773
  type: uint32_t
886
  type: uint32_t
774
  defaultValue: 0
887
  defaultValue: 0
888
  webcoreBinding: custom
775
889
776
FrameFlattening:
890
FrameFlattening:
777
  type: uint32_t
891
  type: uint32_t
778
  defaultValue: DEFAULT_FRAME_FLATTENING
892
  defaultValue: DEFAULT_FRAME_FLATTENING
893
  webcoreBinding: custom
779
894
780
StandardFontFamily:
895
StandardFontFamily:
781
  type: String
896
  type: String
Lines 820-837 MediaContentTypesRequiringHardwareSuppor Source/WebKit/Shared/WebPreferences.yaml_sec35
820
InspectorWindowFrame:
935
InspectorWindowFrame:
821
  type: String
936
  type: String
822
  defaultValue: '""'
937
  defaultValue: '""'
823
  webkitOnly: true
938
  webcoreBinding: none
824
939
825
InactiveMediaCaptureSteamRepromptIntervalInMinutes:
940
InactiveMediaCaptureSteamRepromptIntervalInMinutes:
826
    type: double
941
  type: double
827
    defaultValue: DEFAULT_INTERACTIVE_MNEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES
942
  defaultValue: DEFAULT_INTERACTIVE_MNEDIA_CAPTURE_STREAM_REPROMPT_INTERVAL_IN_MINUTES
943
  webcoreBinding: none
828
944
829
LongRunningMediaCaptureStreamRepromptIntervalInHours:
945
LongRunningMediaCaptureStreamRepromptIntervalInHours:
830
    type: double
946
  type: double
831
    defaultValue: 24
947
  defaultValue: 24
948
  webcoreBinding: none
832
949
833
# Debug Preferences
834
950
951
# Debug Preferences
835
952
836
AcceleratedDrawingEnabled:
953
AcceleratedDrawingEnabled:
837
  type: bool
954
  type: bool
Lines 852-867 CompositingBordersVisible: Source/WebKit/Shared/WebPreferences.yaml_sec36
852
  type: bool
969
  type: bool
853
  defaultValue: false
970
  defaultValue: false
854
  category: debug
971
  category: debug
972
  webcoreName: showDebugBorders
855
973
856
CompositingRepaintCountersVisible:
974
CompositingRepaintCountersVisible:
857
  type: bool
975
  type: bool
858
  defaultValue: false
976
  defaultValue: false
859
  category: debug
977
  category: debug
978
  webcoreName: showRepaintCounter
860
979
861
TiledScrollingIndicatorVisible:
980
TiledScrollingIndicatorVisible:
862
  type: bool
981
  type: bool
863
  defaultValue: false
982
  defaultValue: false
864
  category: debug
983
  category: debug
984
  webcoreName: showTiledScrollingIndicator
865
985
866
SimpleLineLayoutDebugBordersEnabled:
986
SimpleLineLayoutDebugBordersEnabled:
867
  type: bool
987
  type: bool
Lines 882-897 IgnoreViewportScalingConstraints: Source/WebKit/Shared/WebPreferences.yaml_sec37
882
  type: bool
1002
  type: bool
883
  defaultValue: true
1003
  defaultValue: true
884
  category: debug
1004
  category: debug
1005
  webcoreBinding: none
1006
  condition: PLATFORM(IOS)
885
1007
886
ForceAlwaysUserScalable:
1008
ForceAlwaysUserScalable:
887
  type: bool
1009
  type: bool
888
  defaultValue: false
1010
  defaultValue: false
889
  category: debug
1011
  category: debug
1012
  webcoreBinding: none
1013
  condition: PLATFORM(IOS)
890
1014
891
ResourceUsageOverlayVisible:
1015
ResourceUsageOverlayVisible:
892
  type: bool
1016
  type: bool
893
  defaultValue: false
1017
  defaultValue: false
894
  category: debug
1018
  category: debug
1019
  condition: ENABLE(RESOURCE_USAGE)
895
1020
896
VisibleDebugOverlayRegions:
1021
VisibleDebugOverlayRegions:
897
  type: uint32_t
1022
  type: uint32_t
Lines 921-926 CacheAPIEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec38
921
  humanReadableName: "Cache API"
1046
  humanReadableName: "Cache API"
922
  humanReadableDescription: "Enable Cache API"
1047
  humanReadableDescription: "Enable Cache API"
923
  category: experimental
1048
  category: experimental
1049
  webcoreBinding: RuntimeEnabledFeatures
924
1050
925
ConstantPropertiesEnabled:
1051
ConstantPropertiesEnabled:
926
  type: bool
1052
  type: bool
Lines 935-940 DisplayContentsEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec39
935
  humanReadableName: "CSS display: contents"
1061
  humanReadableName: "CSS display: contents"
936
  humanReadableDescription: "Enable CSS display: contents support"
1062
  humanReadableDescription: "Enable CSS display: contents support"
937
  category: experimental
1063
  category: experimental
1064
  webcoreBinding: RuntimeEnabledFeatures
938
1065
939
SpringTimingFunctionEnabled:
1066
SpringTimingFunctionEnabled:
940
  type: bool
1067
  type: bool
Lines 949-954 LinkPreloadEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec40
949
  humanReadableName: "Link Preload"
1076
  humanReadableName: "Link Preload"
950
  humanReadableDescription: "Link preload support"
1077
  humanReadableDescription: "Link preload support"
951
  category: experimental
1078
  category: experimental
1079
  webcoreBinding: RuntimeEnabledFeatures
952
1080
953
WebRTCLegacyAPIDisabled:
1081
WebRTCLegacyAPIDisabled:
954
  type: bool
1082
  type: bool
Lines 956-961 WebRTCLegacyAPIDisabled: Source/WebKit/Shared/WebPreferences.yaml_sec41
956
  humanReadableName: "Remove Legacy WebRTC API"
1084
  humanReadableName: "Remove Legacy WebRTC API"
957
  humanReadableDescription: "Remove Legacy WebRTC API"
1085
  humanReadableDescription: "Remove Legacy WebRTC API"
958
  category: experimental
1086
  category: experimental
1087
  webcoreBinding: custom
1088
  condition: ENABLE(WEB_RTC)
959
1089
960
IsSecureContextAttributeEnabled:
1090
IsSecureContextAttributeEnabled:
961
  type: bool
1091
  type: bool
Lines 963-968 IsSecureContextAttributeEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec42
963
  humanReadableName: "Secure Contexts API"
1093
  humanReadableName: "Secure Contexts API"
964
  humanReadableDescription: "Enable Secure Contexts API"
1094
  humanReadableDescription: "Enable Secure Contexts API"
965
  category: experimental
1095
  category: experimental
1096
  webcoreBinding: RuntimeEnabledFeatures
966
1097
967
ServiceWorkersEnabled:
1098
ServiceWorkersEnabled:
968
  type: bool
1099
  type: bool
Lines 970-975 ServiceWorkersEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec43
970
  humanReadableName: "ServiceWorkers"
1101
  humanReadableName: "ServiceWorkers"
971
  humanReadableDescription: "Enable ServiceWorkers"
1102
  humanReadableDescription: "Enable ServiceWorkers"
972
  category: experimental
1103
  category: experimental
1104
  webcoreBinding: RuntimeEnabledFeatures
1105
  webcoreName: serviceWorkerEnabled
1106
  condition: ENABLE(SERVICE_WORKER)
973
1107
974
StorageAccessAPIEnabled:
1108
StorageAccessAPIEnabled:
975
  type: bool
1109
  type: bool
Lines 991-996 WebAnimationsEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec44
991
  humanReadableName: "Web Animations"
1125
  humanReadableName: "Web Animations"
992
  humanReadableDescription: "Web Animations prototype"
1126
  humanReadableDescription: "Web Animations prototype"
993
  category: experimental
1127
  category: experimental
1128
  webcoreBinding: RuntimeEnabledFeatures
994
1129
995
WebGL2Enabled:
1130
WebGL2Enabled:
996
  type: bool
1131
  type: bool
Lines 998-1003 WebGL2Enabled: Source/WebKit/Shared/WebPreferences.yaml_sec45
998
  humanReadableName: "WebGL 2.0"
1133
  humanReadableName: "WebGL 2.0"
999
  humanReadableDescription: "WebGL 2 prototype"
1134
  humanReadableDescription: "WebGL 2 prototype"
1000
  category: experimental
1135
  category: experimental
1136
  webcoreBinding: RuntimeEnabledFeatures
1137
  condition: ENABLE(WEBGL2)
1001
1138
1002
WebGPUEnabled:
1139
WebGPUEnabled:
1003
  type: bool
1140
  type: bool
Lines 1005-1007 WebGPUEnabled: Source/WebKit/Shared/WebPreferences.yaml_sec46
1005
  humanReadableName: "WebGPU"
1142
  humanReadableName: "WebGPU"
1006
  humanReadableDescription: "WebGPU prototype"
1143
  humanReadableDescription: "WebGPU prototype"
1007
  category: experimental
1144
  category: experimental
1145
  webcoreBinding: RuntimeEnabledFeatures
1146
  condition: ENABLE(WEBGPU)
- Source/WebKit/WebKit.xcodeproj/project.pbxproj +4 lines
Lines 1353-1358 Source/WebKit/WebKit.xcodeproj/project.pbxproj_sec1
1353
		7CE4D2201A4914CA00C7F152 /* APIProcessPoolConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE4D21E1A4914CA00C7F152 /* APIProcessPoolConfiguration.h */; };
1353
		7CE4D2201A4914CA00C7F152 /* APIProcessPoolConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE4D21E1A4914CA00C7F152 /* APIProcessPoolConfiguration.h */; };
1354
		7CE4D2271A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CE4D2251A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp */; };
1354
		7CE4D2271A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CE4D2251A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp */; };
1355
		7CE4D2281A4916C200C7F152 /* WebProcessPoolMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE4D2261A4916C200C7F152 /* WebProcessPoolMessages.h */; };
1355
		7CE4D2281A4916C200C7F152 /* WebProcessPoolMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE4D2261A4916C200C7F152 /* WebProcessPoolMessages.h */; };
1356
		7CE9CE101FA0767A000177DE /* WebPageUpdatePreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CE9CE0F1FA0764D000177DE /* WebPageUpdatePreferences.cpp */; };
1356
		7CEFA9621AC0999300B910FD /* APIContentRuleListStoreCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7CEFA9601AC0999300B910FD /* APIContentRuleListStoreCocoa.mm */; };
1357
		7CEFA9621AC0999300B910FD /* APIContentRuleListStoreCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7CEFA9601AC0999300B910FD /* APIContentRuleListStoreCocoa.mm */; };
1357
		7CF47FF617275B71008ACB91 /* WKBundlePageBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CF47FF417275B71008ACB91 /* WKBundlePageBanner.cpp */; };
1358
		7CF47FF617275B71008ACB91 /* WKBundlePageBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CF47FF417275B71008ACB91 /* WKBundlePageBanner.cpp */; };
1358
		7CF47FF717275B71008ACB91 /* WKBundlePageBanner.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF47FF517275B71008ACB91 /* WKBundlePageBanner.h */; settings = {ATTRIBUTES = (Private, ); }; };
1359
		7CF47FF717275B71008ACB91 /* WKBundlePageBanner.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF47FF517275B71008ACB91 /* WKBundlePageBanner.h */; settings = {ATTRIBUTES = (Private, ); }; };
Lines 3739-3744 Source/WebKit/WebKit.xcodeproj/project.pbxproj_sec2
3739
		7CE4D21E1A4914CA00C7F152 /* APIProcessPoolConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = APIProcessPoolConfiguration.h; path = UIProcess/API/APIProcessPoolConfiguration.h; sourceTree = SOURCE_ROOT; };
3740
		7CE4D21E1A4914CA00C7F152 /* APIProcessPoolConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = APIProcessPoolConfiguration.h; path = UIProcess/API/APIProcessPoolConfiguration.h; sourceTree = SOURCE_ROOT; };
3740
		7CE4D2251A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessPoolMessageReceiver.cpp; sourceTree = "<group>"; };
3741
		7CE4D2251A4916C200C7F152 /* WebProcessPoolMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessPoolMessageReceiver.cpp; sourceTree = "<group>"; };
3741
		7CE4D2261A4916C200C7F152 /* WebProcessPoolMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessPoolMessages.h; sourceTree = "<group>"; };
3742
		7CE4D2261A4916C200C7F152 /* WebProcessPoolMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessPoolMessages.h; sourceTree = "<group>"; };
3743
		7CE9CE0F1FA0764D000177DE /* WebPageUpdatePreferences.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageUpdatePreferences.cpp; sourceTree = "<group>"; };
3742
		7CEFA9601AC0999300B910FD /* APIContentRuleListStoreCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = APIContentRuleListStoreCocoa.mm; sourceTree = "<group>"; };
3744
		7CEFA9601AC0999300B910FD /* APIContentRuleListStoreCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = APIContentRuleListStoreCocoa.mm; sourceTree = "<group>"; };
3743
		7CF47FF417275B71008ACB91 /* WKBundlePageBanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKBundlePageBanner.cpp; sourceTree = "<group>"; };
3745
		7CF47FF417275B71008ACB91 /* WKBundlePageBanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKBundlePageBanner.cpp; sourceTree = "<group>"; };
3744
		7CF47FF517275B71008ACB91 /* WKBundlePageBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundlePageBanner.h; sourceTree = "<group>"; };
3746
		7CF47FF517275B71008ACB91 /* WKBundlePageBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBundlePageBanner.h; sourceTree = "<group>"; };
Lines 8135-8140 Source/WebKit/WebKit.xcodeproj/project.pbxproj_sec3
8135
				C0CE729F1247E71D00BC0EC4 /* WebPageMessages.h */,
8137
				C0CE729F1247E71D00BC0EC4 /* WebPageMessages.h */,
8136
				BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */,
8138
				BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */,
8137
				BCBD3913125BB1A800D2C29F /* WebPageProxyMessages.h */,
8139
				BCBD3913125BB1A800D2C29F /* WebPageProxyMessages.h */,
8140
				7CE9CE0F1FA0764D000177DE /* WebPageUpdatePreferences.cpp */,
8138
				7C4694C71A4B4EA000AD5845 /* WebPasteboardProxyMessageReceiver.cpp */,
8141
				7C4694C71A4B4EA000AD5845 /* WebPasteboardProxyMessageReceiver.cpp */,
8139
				7C4694C81A4B4EA100AD5845 /* WebPasteboardProxyMessages.h */,
8142
				7C4694C81A4B4EA100AD5845 /* WebPasteboardProxyMessages.h */,
8140
				1AB1F7921D1B3613007C9BD1 /* WebPaymentCoordinatorMessageReceiver.cpp */,
8143
				1AB1F7921D1B3613007C9BD1 /* WebPaymentCoordinatorMessageReceiver.cpp */,
Lines 10662-10667 Source/WebKit/WebKit.xcodeproj/project.pbxproj_sec4
10662
				2DA944AF1884E9BA00ED86DB /* WebPageProxyIOS.mm in Sources */,
10665
				2DA944AF1884E9BA00ED86DB /* WebPageProxyIOS.mm in Sources */,
10663
				BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */,
10666
				BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */,
10664
				BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */,
10667
				BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */,
10668
				7CE9CE101FA0767A000177DE /* WebPageUpdatePreferences.cpp in Sources */,
10665
				512127C31908239A00DAF35C /* WebPasteboardOverrides.cpp in Sources */,
10669
				512127C31908239A00DAF35C /* WebPasteboardOverrides.cpp in Sources */,
10666
				7C4694D01A51E36800AD5845 /* WebPasteboardProxy.cpp in Sources */,
10670
				7C4694D01A51E36800AD5845 /* WebPasteboardProxy.cpp in Sources */,
10667
				7C4694CC1A4B510A00AD5845 /* WebPasteboardProxyCocoa.mm in Sources */,
10671
				7C4694CC1A4B510A00AD5845 /* WebPasteboardProxyCocoa.mm in Sources */,
- Source/WebKit/WebProcess/WebPage/WebPage.cpp -352 / +27 lines
Lines 3034-3384 void WebPage::preferencesDidChange(const Source/WebKit/WebProcess/WebPage/WebPage.cpp_sec1
3034
3034
3035
void WebPage::updatePreferences(const WebPreferencesStore& store)
3035
void WebPage::updatePreferences(const WebPreferencesStore& store)
3036
{
3036
{
3037
    Settings& settings = m_page->settings();
3037
    updatePreferencesGenerated(store);
3038
3039
    m_tabToLinks = store.getBoolValueForKey(WebPreferencesKey::tabsToLinksKey());
3040
    m_asynchronousPluginInitializationEnabled = store.getBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey());
3041
    m_asynchronousPluginInitializationEnabledForAllPlugins = store.getBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledForAllPluginsKey());
3042
    m_artificialPluginInitializationDelayEnabled = store.getBoolValueForKey(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey());
3043
3044
    m_scrollingPerformanceLoggingEnabled = store.getBoolValueForKey(WebPreferencesKey::scrollingPerformanceLoggingEnabledKey());
3045
3046
#if PLATFORM(COCOA)
3047
    m_pdfPluginEnabled = store.getBoolValueForKey(WebPreferencesKey::pdfPluginEnabledKey());
3048
#endif
3049
3038
3050
    // FIXME: This should be generated from macro expansion for all preferences,
3039
    Settings& settings = m_page->settings();
3051
    // but we currently don't match the naming of WebCore exactly so we are
3052
    // handrolling the boolean and integer preferences until that is fixed.
3053
3054
#define INITIALIZE_SETTINGS(KeyUpper, KeyLower, TypeName, Type, DefaultValue, HumanReadableName, HumanReadableDescription) settings.set##KeyUpper(store.get##TypeName##ValueForKey(WebPreferencesKey::KeyLower##Key()));
3055
3056
    FOR_EACH_WEBKIT_STRING_PREFERENCE(INITIALIZE_SETTINGS)
3057
3058
#undef INITIALIZE_SETTINGS
3059
3060
    settings.setScriptEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptEnabledKey()));
3061
    settings.setScriptMarkupEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptMarkupEnabledKey()));
3062
    settings.setLoadsImagesAutomatically(store.getBoolValueForKey(WebPreferencesKey::loadsImagesAutomaticallyKey()));
3063
    settings.setLoadsSiteIconsIgnoringImageLoadingSetting(store.getBoolValueForKey(WebPreferencesKey::loadsSiteIconsIgnoringImageLoadingPreferenceKey()));
3064
    settings.setPluginsEnabled(store.getBoolValueForKey(WebPreferencesKey::pluginsEnabledKey()));
3065
    settings.setJavaEnabled(store.getBoolValueForKey(WebPreferencesKey::javaEnabledKey()));
3066
    settings.setJavaEnabledForLocalFiles(store.getBoolValueForKey(WebPreferencesKey::javaEnabledForLocalFilesKey()));    
3067
    settings.setOfflineWebApplicationCacheEnabled(store.getBoolValueForKey(WebPreferencesKey::offlineWebApplicationCacheEnabledKey()));
3068
    settings.setLocalStorageEnabled(store.getBoolValueForKey(WebPreferencesKey::localStorageEnabledKey()));
3069
    settings.setXSSAuditorEnabled(store.getBoolValueForKey(WebPreferencesKey::xssAuditorEnabledKey()));
3070
    settings.setFrameFlattening(static_cast<WebCore::FrameFlattening>(store.getUInt32ValueForKey(WebPreferencesKey::frameFlatteningKey())));
3071
    settings.setAsyncFrameScrollingEnabled(store.getBoolValueForKey(WebPreferencesKey::asyncFrameScrollingEnabledKey()));
3072
    if (store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && !usesEphemeralSession())
3073
        setSessionID(PAL::SessionID::legacyPrivateSessionID());
3074
    else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && sessionID() == PAL::SessionID::legacyPrivateSessionID())
3075
        setSessionID(PAL::SessionID::defaultSessionID());
3076
    settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
3077
    settings.setJavaScriptRuntimeFlags(RuntimeFlags(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
3078
    settings.setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
3079
    settings.setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
3080
    settings.setJavaScriptCanOpenWindowsAutomatically(store.getBoolValueForKey(WebPreferencesKey::javaScriptCanOpenWindowsAutomaticallyKey()));
3081
    settings.setForceFTPDirectoryListings(store.getBoolValueForKey(WebPreferencesKey::forceFTPDirectoryListingsKey()));
3082
    settings.setDNSPrefetchingEnabled(store.getBoolValueForKey(WebPreferencesKey::dnsPrefetchingEnabledKey()));
3083
    settings.setDOMTimersThrottlingEnabled(store.getBoolValueForKey(WebPreferencesKey::domTimersThrottlingEnabledKey()));
3084
#if ENABLE(WEB_ARCHIVE)
3085
    settings.setWebArchiveDebugModeEnabled(store.getBoolValueForKey(WebPreferencesKey::webArchiveDebugModeEnabledKey()));
3086
#endif
3087
    settings.setLocalFileContentSniffingEnabled(store.getBoolValueForKey(WebPreferencesKey::localFileContentSniffingEnabledKey()));
3088
    settings.setUsesPageCache(store.getBoolValueForKey(WebPreferencesKey::usesPageCacheKey()));
3089
    settings.setPageCacheSupportsPlugins(store.getBoolValueForKey(WebPreferencesKey::pageCacheSupportsPluginsKey()));
3090
    settings.setAuthorAndUserStylesEnabled(store.getBoolValueForKey(WebPreferencesKey::authorAndUserStylesEnabledKey()));
3091
    settings.setPaginateDuringLayoutEnabled(store.getBoolValueForKey(WebPreferencesKey::paginateDuringLayoutEnabledKey()));
3092
    settings.setDOMPasteAllowed(store.getBoolValueForKey(WebPreferencesKey::domPasteAllowedKey()));
3093
    settings.setJavaScriptCanAccessClipboard(store.getBoolValueForKey(WebPreferencesKey::javaScriptCanAccessClipboardKey()));
3094
    settings.setLinkPreconnectEnabled(store.getBoolValueForKey(WebPreferencesKey::linkPreconnectKey()));
3095
    settings.setShouldPrintBackgrounds(store.getBoolValueForKey(WebPreferencesKey::shouldPrintBackgroundsKey()));
3096
    settings.setWebSecurityEnabled(store.getBoolValueForKey(WebPreferencesKey::webSecurityEnabledKey()));
3097
    settings.setAllowUniversalAccessFromFileURLs(store.getBoolValueForKey(WebPreferencesKey::allowUniversalAccessFromFileURLsKey()));
3098
    settings.setAllowFileAccessFromFileURLs(store.getBoolValueForKey(WebPreferencesKey::allowFileAccessFromFileURLsKey()));
3099
    settings.setNeedsStorageAccessFromFileURLsQuirk(store.getBoolValueForKey(WebPreferencesKey::needsStorageAccessFromFileURLsQuirkKey()));
3100
3101
    settings.setMinimumFontSize(store.getDoubleValueForKey(WebPreferencesKey::minimumFontSizeKey()));
3102
    settings.setMinimumLogicalFontSize(store.getDoubleValueForKey(WebPreferencesKey::minimumLogicalFontSizeKey()));
3103
    settings.setDefaultFontSize(store.getDoubleValueForKey(WebPreferencesKey::defaultFontSizeKey()));
3104
    settings.setDefaultFixedFontSize(store.getDoubleValueForKey(WebPreferencesKey::defaultFixedFontSizeKey()));
3105
    settings.setLayoutFallbackWidth(store.getUInt32ValueForKey(WebPreferencesKey::layoutFallbackWidthKey()));
3106
    settings.setDeviceWidth(store.getUInt32ValueForKey(WebPreferencesKey::deviceWidthKey()));
3107
    settings.setDeviceHeight(store.getUInt32ValueForKey(WebPreferencesKey::deviceHeightKey()));
3108
    settings.setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey())));
3109
    settings.setShowsToolTipOverTruncatedText(store.getBoolValueForKey(WebPreferencesKey::showsToolTipOverTruncatedTextKey()));
3110
3040
3111
    settings.setAcceleratedCompositingForOverflowScrollEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingForOverflowScrollEnabledKey()));
3112
    settings.setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()));
3113
    settings.setAcceleratedDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedDrawingEnabledKey()));
3114
    settings.setDisplayListDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::displayListDrawingEnabledKey()));
3115
    settings.setCanvasUsesAcceleratedDrawing(store.getBoolValueForKey(WebPreferencesKey::canvasUsesAcceleratedDrawingKey()));
3116
    settings.setShowDebugBorders(store.getBoolValueForKey(WebPreferencesKey::compositingBordersVisibleKey()));
3117
    settings.setShowRepaintCounter(store.getBoolValueForKey(WebPreferencesKey::compositingRepaintCountersVisibleKey()));
3118
    settings.setShowTiledScrollingIndicator(store.getBoolValueForKey(WebPreferencesKey::tiledScrollingIndicatorVisibleKey()));
3119
    settings.setVisibleDebugOverlayRegions(store.getUInt32ValueForKey(WebPreferencesKey::visibleDebugOverlayRegionsKey()));
3120
    settings.setUseGiantTiles(store.getBoolValueForKey(WebPreferencesKey::useGiantTilesKey()));
3121
    settings.setSubpixelAntialiasedLayerTextEnabled(store.getBoolValueForKey(WebPreferencesKey::subpixelAntialiasedLayerTextEnabledKey()));
3122
3123
    settings.setAggressiveTileRetentionEnabled(store.getBoolValueForKey(WebPreferencesKey::aggressiveTileRetentionEnabledKey()));
3124
    settings.setTemporaryTileCohortRetentionEnabled(store.getBoolValueForKey(WebPreferencesKey::temporaryTileCohortRetentionEnabledKey()));
3125
#if ENABLE(CSS_ANIMATIONS_LEVEL_2)
3126
    RuntimeEnabledFeatures::sharedFeatures().setAnimationTriggersEnabled(store.getBoolValueForKey(WebPreferencesKey::cssAnimationTriggersEnabledKey()));
3127
#endif
3128
    RuntimeEnabledFeatures::sharedFeatures().setWebAnimationsEnabled(store.getBoolValueForKey(WebPreferencesKey::webAnimationsEnabledKey()));
3129
    settings.setWebGLEnabled(store.getBoolValueForKey(WebPreferencesKey::webGLEnabledKey()));
3130
    settings.setForceSoftwareWebGLRendering(store.getBoolValueForKey(WebPreferencesKey::forceSoftwareWebGLRenderingKey()));
3131
    settings.setAccelerated2dCanvasEnabled(store.getBoolValueForKey(WebPreferencesKey::accelerated2dCanvasEnabledKey()));
3132
    bool requiresUserGestureForMedia = store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey());
3041
    bool requiresUserGestureForMedia = store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey());
3133
    settings.setVideoPlaybackRequiresUserGesture(requiresUserGestureForMedia || store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForVideoPlaybackKey()));
3042
    settings.setVideoPlaybackRequiresUserGesture(requiresUserGestureForMedia || store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForVideoPlaybackKey()));
3134
    settings.setAudioPlaybackRequiresUserGesture(requiresUserGestureForMedia || store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForAudioPlaybackKey()));
3043
    settings.setAudioPlaybackRequiresUserGesture(requiresUserGestureForMedia || store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForAudioPlaybackKey()));
3135
    settings.setRequiresUserGestureToLoadVideo(store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureToLoadVideoKey()));
3136
    settings.setMainContentUserGestureOverrideEnabled(store.getBoolValueForKey(WebPreferencesKey::mainContentUserGestureOverrideEnabledKey()));
3137
    settings.setMediaUserGestureInheritsFromDocument(store.getBoolValueForKey(WebPreferencesKey::mediaUserGestureInheritsFromDocumentKey()));
3138
    settings.setAllowsInlineMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackKey()));
3139
    settings.setAllowsInlineMediaPlaybackAfterFullscreen(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackAfterFullscreenKey()));
3140
    settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(store.getBoolValueForKey(WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey()));
3141
    settings.setInvisibleAutoplayNotPermitted(store.getBoolValueForKey(WebPreferencesKey::invisibleAutoplayNotPermittedKey()));
3142
    settings.setMediaDataLoadsAutomatically(store.getBoolValueForKey(WebPreferencesKey::mediaDataLoadsAutomaticallyKey()));
3143
    settings.setAllowsPictureInPictureMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey()));
3144
    settings.setMediaControlsScaleWithPageZoom(store.getBoolValueForKey(WebPreferencesKey::mediaControlsScaleWithPageZoomKey()));
3145
    DeprecatedGlobalSettings::setMockScrollbarsEnabled(store.getBoolValueForKey(WebPreferencesKey::mockScrollbarsEnabledKey()));
3146
    settings.setHyperlinkAuditingEnabled(store.getBoolValueForKey(WebPreferencesKey::hyperlinkAuditingEnabledKey()));
3147
    settings.setRequestAnimationFrameEnabled(store.getBoolValueForKey(WebPreferencesKey::requestAnimationFrameEnabledKey()));
3148
#if ENABLE(SMOOTH_SCROLLING)
3149
    settings.setScrollAnimatorEnabled(store.getBoolValueForKey(WebPreferencesKey::scrollAnimatorEnabledKey()));
3150
#endif
3151
    settings.setForceUpdateScrollbarsOnMainThreadForPerformanceTesting(store.getBoolValueForKey(WebPreferencesKey::forceUpdateScrollbarsOnMainThreadForPerformanceTestingKey()));
3152
    settings.setInteractiveFormValidationEnabled(store.getBoolValueForKey(WebPreferencesKey::interactiveFormValidationEnabledKey()));
3153
    settings.setSpatialNavigationEnabled(store.getBoolValueForKey(WebPreferencesKey::spatialNavigationEnabledKey()));
3154
3155
    settings.setHttpEquivEnabled(store.getBoolValueForKey(WebPreferencesKey::httpEquivEnabledKey()));
3156
3157
    settings.setSelectionPaintingWithoutSelectionGapsEnabled(store.getBoolValueForKey(WebPreferencesKey::selectionPaintingWithoutSelectionGapsEnabledKey()));
3158
3159
    DatabaseManager::singleton().setIsAvailable(store.getBoolValueForKey(WebPreferencesKey::databasesEnabledKey()));
3160
3161
#if ENABLE(FULLSCREEN_API)
3162
    settings.setFullScreenEnabled(store.getBoolValueForKey(WebPreferencesKey::fullScreenEnabledKey()));
3163
#endif
3164
3165
#if USE(AVFOUNDATION)
3166
    DeprecatedGlobalSettings::setAVFoundationEnabled(store.getBoolValueForKey(WebPreferencesKey::isAVFoundationEnabledKey()));
3167
    DeprecatedGlobalSettings::setAVFoundationNSURLSessionEnabled(store.getBoolValueForKey(WebPreferencesKey::isAVFoundationNSURLSessionEnabledKey()));
3168
#endif
3169
3170
#if USE(GSTREAMER)
3171
    DeprecatedGlobalSettings::setGStreamerEnabled(store.getBoolValueForKey(WebPreferencesKey::isGStreamerEnabledKey()));
3172
#endif
3173
3174
#if PLATFORM(COCOA)
3175
    DeprecatedGlobalSettings::setQTKitEnabled(store.getBoolValueForKey(WebPreferencesKey::isQTKitEnabledKey()));
3176
#endif
3177
3178
#if PLATFORM(IOS) && HAVE(AVKIT)
3179
    DeprecatedGlobalSettings::setAVKitEnabled(true);
3180
#endif
3181
3182
#if ENABLE(WEB_AUDIO)
3183
    settings.setWebAudioEnabled(store.getBoolValueForKey(WebPreferencesKey::webAudioEnabledKey()));
3184
#endif
3185
3186
#if ENABLE(MEDIA_STREAM)
3187
    RuntimeEnabledFeatures::sharedFeatures().setMediaDevicesEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaDevicesEnabledKey()));
3188
    RuntimeEnabledFeatures::sharedFeatures().setMediaStreamEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaStreamEnabledKey()));
3189
#endif
3190
3191
#if ENABLE(WEB_RTC)
3192
    RuntimeEnabledFeatures::sharedFeatures().setPeerConnectionEnabled(store.getBoolValueForKey(WebPreferencesKey::peerConnectionEnabledKey()));
3193
    RuntimeEnabledFeatures::sharedFeatures().setWebRTCLegacyAPIEnabled(!store.getBoolValueForKey(WebPreferencesKey::webRTCLegacyAPIDisabledKey()));
3194
#endif
3195
3196
#if ENABLE(SERVICE_CONTROLS)
3197
    settings.setImageControlsEnabled(store.getBoolValueForKey(WebPreferencesKey::imageControlsEnabledKey()));
3198
#endif
3199
3200
#if ENABLE(SERVICE_WORKER)
3201
    RuntimeEnabledFeatures::sharedFeatures().setServiceWorkerEnabled(store.getBoolValueForKey(WebPreferencesKey::serviceWorkersEnabledKey()));
3202
#endif
3203
3204
#if ENABLE(WIRELESS_PLAYBACK_TARGET)
3205
    settings.setAllowsAirPlayForMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsAirPlayForMediaPlaybackKey()));
3206
#endif
3207
3208
#if ENABLE(RESOURCE_USAGE)
3209
    settings.setResourceUsageOverlayVisible(store.getBoolValueForKey(WebPreferencesKey::resourceUsageOverlayVisibleKey()));
3210
#endif
3211
3212
    settings.setSuppressesIncrementalRendering(store.getBoolValueForKey(WebPreferencesKey::suppressesIncrementalRenderingKey()));
3213
    settings.setIncrementalRenderingSuppressionTimeoutInSeconds(store.getDoubleValueForKey(WebPreferencesKey::incrementalRenderingSuppressionTimeoutKey()));
3214
    settings.setBackspaceKeyNavigationEnabled(store.getBoolValueForKey(WebPreferencesKey::backspaceKeyNavigationEnabledKey()));
3215
    settings.setWantsBalancedSetDefersLoadingBehavior(store.getBoolValueForKey(WebPreferencesKey::wantsBalancedSetDefersLoadingBehaviorKey()));
3216
    settings.setCaretBrowsingEnabled(store.getBoolValueForKey(WebPreferencesKey::caretBrowsingEnabledKey()));
3217
3218
#if ENABLE(VIDEO_TRACK)
3219
    settings.setShouldDisplaySubtitles(store.getBoolValueForKey(WebPreferencesKey::shouldDisplaySubtitlesKey()));
3220
    settings.setShouldDisplayCaptions(store.getBoolValueForKey(WebPreferencesKey::shouldDisplayCaptionsKey()));
3221
    settings.setShouldDisplayTextDescriptions(store.getBoolValueForKey(WebPreferencesKey::shouldDisplayTextDescriptionsKey()));
3222
#endif
3223
3224
#if ENABLE(NOTIFICATIONS)
3225
    settings.setNotificationsEnabled(store.getBoolValueForKey(WebPreferencesKey::notificationsEnabledKey()));
3226
#endif
3227
3228
    settings.setShouldRespectImageOrientation(store.getBoolValueForKey(WebPreferencesKey::shouldRespectImageOrientationKey()));
3229
    settings.setStorageBlockingPolicy(static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())));
3230
    settings.setCookieEnabled(store.getBoolValueForKey(WebPreferencesKey::cookieEnabledKey()));
3231
3232
    settings.setDiagnosticLoggingEnabled(store.getBoolValueForKey(WebPreferencesKey::diagnosticLoggingEnabledKey()));
3233
3234
    settings.setScrollingPerformanceLoggingEnabled(m_scrollingPerformanceLoggingEnabled);
3235
3236
    settings.setPlugInSnapshottingEnabled(store.getBoolValueForKey(WebPreferencesKey::plugInSnapshottingEnabledKey()));
3237
    settings.setSnapshotAllPlugIns(store.getBoolValueForKey(WebPreferencesKey::snapshotAllPlugInsKey()));
3238
    settings.setAutostartOriginPlugInSnapshottingEnabled(store.getBoolValueForKey(WebPreferencesKey::autostartOriginPlugInSnapshottingEnabledKey()));
3239
    settings.setPrimaryPlugInSnapshotDetectionEnabled(store.getBoolValueForKey(WebPreferencesKey::primaryPlugInSnapshotDetectionEnabledKey()));
3240
    settings.setUsesEncodingDetector(store.getBoolValueForKey(WebPreferencesKey::usesEncodingDetectorKey()));
3241
3242
#if ENABLE(TEXT_AUTOSIZING)
3243
    settings.setTextAutosizingEnabled(store.getBoolValueForKey(WebPreferencesKey::textAutosizingEnabledKey()));
3244
    settings.setMinimumZoomFontSize(store.getDoubleValueForKey(WebPreferencesKey::minimumZoomFontSizeKey()));
3245
#endif
3246
3247
    settings.setLogsPageMessagesToSystemConsoleEnabled(store.getBoolValueForKey(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey()));
3248
    settings.setAsynchronousSpellCheckingEnabled(store.getBoolValueForKey(WebPreferencesKey::asynchronousSpellCheckingEnabledKey()));
3249
3250
    settings.setSmartInsertDeleteEnabled(store.getBoolValueForKey(WebPreferencesKey::smartInsertDeleteEnabledKey()));
3251
    settings.setSelectTrailingWhitespaceEnabled(store.getBoolValueForKey(WebPreferencesKey::selectTrailingWhitespaceEnabledKey()));
3252
    settings.setShowsURLsInToolTips(store.getBoolValueForKey(WebPreferencesKey::showsURLsInToolTipsEnabledKey()));
3253
3254
    settings.setHiddenPageDOMTimerThrottlingEnabled(store.getBoolValueForKey(WebPreferencesKey::hiddenPageDOMTimerThrottlingEnabledKey()));
3255
    settings.setHiddenPageDOMTimerThrottlingAutoIncreases(store.getBoolValueForKey(WebPreferencesKey::hiddenPageDOMTimerThrottlingAutoIncreasesKey()));
3256
3257
    settings.setHiddenPageCSSAnimationSuspensionEnabled(store.getBoolValueForKey(WebPreferencesKey::hiddenPageCSSAnimationSuspensionEnabledKey()));
3258
    DeprecatedGlobalSettings::setLowPowerVideoAudioBufferSizeEnabled(store.getBoolValueForKey(WebPreferencesKey::lowPowerVideoAudioBufferSizeEnabledKey()));
3259
    settings.setSimpleLineLayoutEnabled(store.getBoolValueForKey(WebPreferencesKey::simpleLineLayoutEnabledKey()));
3260
    settings.setSimpleLineLayoutDebugBordersEnabled(store.getBoolValueForKey(WebPreferencesKey::simpleLineLayoutDebugBordersEnabledKey()));
3261
    
3262
    settings.setDeferredCSSParserEnabled(store.getBoolValueForKey(WebPreferencesKey::deferredCSSParserEnabledKey()));
3263
3264
    settings.setSubpixelCSSOMElementMetricsEnabled(store.getBoolValueForKey(WebPreferencesKey::subpixelCSSOMElementMetricsEnabledKey()));
3265
3266
    settings.setUseLegacyTextAlignPositionedElementBehavior(store.getBoolValueForKey(WebPreferencesKey::useLegacyTextAlignPositionedElementBehaviorKey()));
3267
3268
#if ENABLE(MEDIA_SOURCE)
3269
    settings.setMediaSourceEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaSourceEnabledKey()));
3270
#endif
3271
3272
#if ENABLE(MEDIA_STREAM)
3273
    DeprecatedGlobalSettings::setMockCaptureDevicesEnabled(store.getBoolValueForKey(WebPreferencesKey::mockCaptureDevicesEnabledKey()));
3274
    DeprecatedGlobalSettings::setMediaCaptureRequiresSecureConnection(store.getBoolValueForKey(WebPreferencesKey::mediaCaptureRequiresSecureConnectionKey()));
3275
#endif
3276
3277
    settings.setShouldConvertPositionStyleOnCopy(store.getBoolValueForKey(WebPreferencesKey::shouldConvertPositionStyleOnCopyKey()));
3278
3279
    settings.setStandalone(store.getBoolValueForKey(WebPreferencesKey::standaloneKey()));
3280
    settings.setTelephoneNumberParsingEnabled(store.getBoolValueForKey(WebPreferencesKey::telephoneNumberParsingEnabledKey()));
3281
    settings.setAllowMultiElementImplicitSubmission(store.getBoolValueForKey(WebPreferencesKey::allowMultiElementImplicitSubmissionKey()));
3282
    settings.setAlwaysUseAcceleratedOverflowScroll(store.getBoolValueForKey(WebPreferencesKey::alwaysUseAcceleratedOverflowScrollKey()));
3283
3284
    settings.setPasswordEchoEnabled(store.getBoolValueForKey(WebPreferencesKey::passwordEchoEnabledKey()));
3285
    settings.setPasswordEchoDurationInSeconds(store.getDoubleValueForKey(WebPreferencesKey::passwordEchoDurationKey()));
3286
    
3287
    settings.setLayoutInterval(Seconds(store.getDoubleValueForKey(WebPreferencesKey::layoutIntervalKey())));
3044
    settings.setLayoutInterval(Seconds(store.getDoubleValueForKey(WebPreferencesKey::layoutIntervalKey())));
3288
    settings.setMaxParseDuration(store.getDoubleValueForKey(WebPreferencesKey::maxParseDurationKey()));
3045
    settings.setUserInterfaceDirectionPolicy(static_cast<WebCore::UserInterfaceDirectionPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::userInterfaceDirectionPolicyKey())));
3289
3046
    settings.setSystemLayoutDirection(static_cast<TextDirection>(store.getUInt32ValueForKey(WebPreferencesKey::systemLayoutDirectionKey())));
3290
    settings.setEnableInheritURIQueryComponent(store.getBoolValueForKey(WebPreferencesKey::enableInheritURIQueryComponentKey()));
3047
    settings.setJavaScriptRuntimeFlags(static_cast<RuntimeFlags>(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
3291
3048
    settings.setStorageBlockingPolicy(static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())));
3292
    auto userInterfaceDirectionPolicyCandidate = static_cast<WebCore::UserInterfaceDirectionPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::userInterfaceDirectionPolicyKey()));
3049
    settings.setFrameFlattening(static_cast<WebCore::FrameFlattening>(store.getUInt32ValueForKey(WebPreferencesKey::frameFlatteningKey())));
3293
    if (userInterfaceDirectionPolicyCandidate == WebCore::UserInterfaceDirectionPolicy::Content || userInterfaceDirectionPolicyCandidate == WebCore::UserInterfaceDirectionPolicy::System)
3050
    settings.setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey())));
3294
        settings.setUserInterfaceDirectionPolicy(userInterfaceDirectionPolicyCandidate);
3295
    TextDirection systemLayoutDirectionCandidate = static_cast<TextDirection>(store.getUInt32ValueForKey(WebPreferencesKey::systemLayoutDirectionKey()));
3296
    if (systemLayoutDirectionCandidate == WebCore::LTR || systemLayoutDirectionCandidate == WebCore::RTL)
3297
        settings.setSystemLayoutDirection(systemLayoutDirectionCandidate);
3298
3299
#if ENABLE(APPLE_PAY)
3300
    settings.setApplePayEnabled(store.getBoolValueForKey(WebPreferencesKey::applePayEnabledKey()));
3301
    settings.setApplePayCapabilityDisclosureAllowed(store.getBoolValueForKey(WebPreferencesKey::applePayCapabilityDisclosureAllowedKey()));
3302
#endif
3303
3304
#if PLATFORM(IOS)
3305
    settings.setUseImageDocumentForSubframePDF(true);
3306
#endif
3307
3308
#if ENABLE(DATA_DETECTION)
3051
#if ENABLE(DATA_DETECTION)
3309
    settings.setDataDetectorTypes(static_cast<DataDetectorTypes>(store.getUInt32ValueForKey(WebPreferencesKey::dataDetectorTypesKey())));
3052
    settings.setDataDetectorTypes(static_cast<DataDetectorTypes>(store.getUInt32ValueForKey(WebPreferencesKey::dataDetectorTypesKey())));
3310
#endif
3053
#endif
3311
#if ENABLE(GAMEPAD)
3054
#if ENABLE(WEB_RTC)
3312
    RuntimeEnabledFeatures::sharedFeatures().setGamepadsEnabled(store.getBoolValueForKey(WebPreferencesKey::gamepadsEnabledKey()));
3055
    RuntimeEnabledFeatures::sharedFeatures().setWebRTCLegacyAPIEnabled(!store.getBoolValueForKey(WebPreferencesKey::webRTCLegacyAPIDisabledKey()));
3313
#endif
3314
3315
#if ENABLE(SERVICE_CONTROLS)
3316
    settings.setServiceControlsEnabled(store.getBoolValueForKey(WebPreferencesKey::serviceControlsEnabledKey()));
3317
#endif
3318
3319
    RuntimeEnabledFeatures::sharedFeatures().setCacheAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::cacheAPIEnabledKey()));
3320
    RuntimeEnabledFeatures::sharedFeatures().setFetchAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::fetchAPIEnabledKey()));
3321
3322
#if ENABLE(DOWNLOAD_ATTRIBUTE)
3323
    RuntimeEnabledFeatures::sharedFeatures().setDownloadAttributeEnabled(store.getBoolValueForKey(WebPreferencesKey::downloadAttributeEnabledKey()));
3324
#endif
3325
3326
    RuntimeEnabledFeatures::sharedFeatures().setShadowDOMEnabled(store.getBoolValueForKey(WebPreferencesKey::shadowDOMEnabledKey()));
3327
3328
    RuntimeEnabledFeatures::sharedFeatures().setInteractiveFormValidationEnabled(store.getBoolValueForKey(WebPreferencesKey::interactiveFormValidationEnabledKey()));
3329
3330
    // Experimental Features.
3331
3332
    RuntimeEnabledFeatures::sharedFeatures().setCSSGridLayoutEnabled(store.getBoolValueForKey(WebPreferencesKey::cssGridLayoutEnabledKey()));
3333
    
3334
    RuntimeEnabledFeatures::sharedFeatures().setCustomElementsEnabled(store.getBoolValueForKey(WebPreferencesKey::customElementsEnabledKey()));
3335
3336
    RuntimeEnabledFeatures::sharedFeatures().setDataTransferItemsEnabled(store.getBoolValueForKey(WebPreferencesKey::dataTransferItemsEnabledKey()));
3337
3338
    DeprecatedGlobalSettings::setCustomPasteboardDataEnabled(store.getBoolValueForKey(WebPreferencesKey::customPasteboardDataEnabledKey()));
3339
3340
#if ENABLE(ATTACHMENT_ELEMENT)
3341
    RuntimeEnabledFeatures::sharedFeatures().setAttachmentElementEnabled(store.getBoolValueForKey(WebPreferencesKey::attachmentElementEnabledKey()));
3342
#endif
3343
3344
#if ENABLE(WEBGL2)
3345
    RuntimeEnabledFeatures::sharedFeatures().setWebGL2Enabled(store.getBoolValueForKey(WebPreferencesKey::webGL2EnabledKey()));
3346
#endif
3347
3348
#if ENABLE(WEBGPU)
3349
    RuntimeEnabledFeatures::sharedFeatures().setWebGPUEnabled(store.getBoolValueForKey(WebPreferencesKey::webGPUEnabledKey()));
3350
#endif
3056
#endif
3351
3057
3352
    settings.setSpringTimingFunctionEnabled(store.getBoolValueForKey(WebPreferencesKey::springTimingFunctionEnabledKey()));
3058
    DatabaseManager::singleton().setIsAvailable(store.getBoolValueForKey(WebPreferencesKey::databasesEnabledKey()));
3353
3354
    settings.setConstantPropertiesEnabled(store.getBoolValueForKey(WebPreferencesKey::constantPropertiesEnabledKey()));
3355
3356
    settings.setViewportFitEnabled(store.getBoolValueForKey(WebPreferencesKey::viewportFitEnabledKey()));
3357
3358
    settings.setVisualViewportEnabled(store.getBoolValueForKey(WebPreferencesKey::visualViewportEnabledKey()));
3359
3360
    settings.setInputEventsEnabled(store.getBoolValueForKey(WebPreferencesKey::inputEventsEnabledKey()));
3361
    RuntimeEnabledFeatures::sharedFeatures().setInputEventsEnabled(store.getBoolValueForKey(WebPreferencesKey::inputEventsEnabledKey()));
3362
3363
    RuntimeEnabledFeatures::sharedFeatures().setModernMediaControlsEnabled(store.getBoolValueForKey(WebPreferencesKey::modernMediaControlsEnabledKey()));
3364
3059
3365
#if ENABLE(ENCRYPTED_MEDIA)
3060
    m_tabToLinks = store.getBoolValueForKey(WebPreferencesKey::tabsToLinksKey());
3366
    RuntimeEnabledFeatures::sharedFeatures().setEncryptedMediaAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::encryptedMediaAPIEnabledKey()));
3061
    m_asynchronousPluginInitializationEnabled = store.getBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey());
3367
#endif
3062
    m_asynchronousPluginInitializationEnabledForAllPlugins = store.getBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledForAllPluginsKey());
3063
    m_artificialPluginInitializationDelayEnabled = store.getBoolValueForKey(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey());
3368
3064
3369
#if ENABLE(INTERSECTION_OBSERVER)
3065
    m_scrollingPerformanceLoggingEnabled = store.getBoolValueForKey(WebPreferencesKey::scrollingPerformanceLoggingEnabledKey());
3370
    RuntimeEnabledFeatures::sharedFeatures().setIntersectionObserverEnabled(store.getBoolValueForKey(WebPreferencesKey::intersectionObserverEnabledKey()));
3066
    settings.setScrollingPerformanceLoggingEnabled(m_scrollingPerformanceLoggingEnabled);
3371
#endif
3372
3067
3373
    RuntimeEnabledFeatures::sharedFeatures().setDisplayContentsEnabled(store.getBoolValueForKey(WebPreferencesKey::displayContentsEnabledKey()));
3068
    if (store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && !usesEphemeralSession())
3374
    RuntimeEnabledFeatures::sharedFeatures().setUserTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::userTimingEnabledKey()));
3069
        setSessionID(PAL::SessionID::legacyPrivateSessionID());
3375
    RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::resourceTimingEnabledKey()));
3070
    else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && sessionID() == PAL::SessionID::legacyPrivateSessionID())
3376
    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(store.getBoolValueForKey(WebPreferencesKey::linkPreloadEnabledKey()));
3071
        setSessionID(PAL::SessionID::defaultSessionID());
3377
    RuntimeEnabledFeatures::sharedFeatures().setMediaPreloadingEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaPreloadingEnabledKey()));
3378
    RuntimeEnabledFeatures::sharedFeatures().setCredentialManagementEnabled(store.getBoolValueForKey(WebPreferencesKey::credentialManagementEnabledKey()));
3379
    RuntimeEnabledFeatures::sharedFeatures().setIsSecureContextAttributeEnabled(store.getBoolValueForKey(WebPreferencesKey::isSecureContextAttributeEnabledKey()));
3380
    RuntimeEnabledFeatures::sharedFeatures().setDirectoryUploadEnabled(store.getBoolValueForKey(WebPreferencesKey::directoryUploadEnabledKey()));
3381
    RuntimeEnabledFeatures::sharedFeatures().setWebVREnabled(store.getBoolValueForKey(WebPreferencesKey::webVREnabledKey()));
3382
3072
3383
    bool processSuppressionEnabled = store.getBoolValueForKey(WebPreferencesKey::pageVisibilityBasedProcessSuppressionEnabledKey());
3073
    bool processSuppressionEnabled = store.getBoolValueForKey(WebPreferencesKey::pageVisibilityBasedProcessSuppressionEnabledKey());
3384
    if (m_processSuppressionEnabled != processSuppressionEnabled) {
3074
    if (m_processSuppressionEnabled != processSuppressionEnabled) {
Lines 3386-3424 void WebPage::updatePreferences(const We Source/WebKit/WebProcess/WebPage/WebPage.cpp_sec2
3386
        updateThrottleState();
3076
        updateThrottleState();
3387
    }
3077
    }
3388
3078
3389
    settings.setSubresourceIntegrityEnabled(store.getBoolValueForKey(WebPreferencesKey::subresourceIntegrityEnabledKey()));
3079
#if PLATFORM(COCOA)
3390
3080
    m_pdfPluginEnabled = store.getBoolValueForKey(WebPreferencesKey::pdfPluginEnabledKey());
3391
#if ENABLE(BEACON_API)
3392
    settings.setBeaconAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::beaconAPIEnabledKey()));
3393
#endif
3081
#endif
3394
3395
#if ENABLE(PAYMENT_REQUEST)
3082
#if ENABLE(PAYMENT_REQUEST)
3396
    settings.setPaymentRequestEnabled(store.getBoolValueForKey(WebPreferencesKey::applePayEnabledKey()));
3083
    settings.setPaymentRequestEnabled(store.getBoolValueForKey(WebPreferencesKey::applePayEnabledKey()));
3397
#endif
3084
#endif
3398
3085
3399
    settings.setStorageAccessAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::storageAccessAPIEnabledKey()));
3400
    
3401
    platformPreferencesDidChange(store);
3402
3403
    if (m_drawingArea)
3404
        m_drawingArea->updatePreferences(store);
3405
3406
#if PLATFORM(IOS)
3086
#if PLATFORM(IOS)
3407
    m_ignoreViewportScalingConstraints = store.getBoolValueForKey(WebPreferencesKey::ignoreViewportScalingConstraintsKey());
3087
    m_ignoreViewportScalingConstraints = store.getBoolValueForKey(WebPreferencesKey::ignoreViewportScalingConstraintsKey());
3408
    m_viewportConfiguration.setCanIgnoreScalingConstraints(m_ignoreViewportScalingConstraints);
3088
    m_viewportConfiguration.setCanIgnoreScalingConstraints(m_ignoreViewportScalingConstraints);
3409
    setForceAlwaysUserScalable(m_forceAlwaysUserScalable || store.getBoolValueForKey(WebPreferencesKey::forceAlwaysUserScalableKey()));
3089
    setForceAlwaysUserScalable(m_forceAlwaysUserScalable || store.getBoolValueForKey(WebPreferencesKey::forceAlwaysUserScalableKey()));
3410
#endif
3411
    settings.setLargeImageAsyncDecodingEnabled(store.getBoolValueForKey(WebPreferencesKey::largeImageAsyncDecodingEnabledKey()));
3412
    settings.setAnimatedImageAsyncDecodingEnabled(store.getBoolValueForKey(WebPreferencesKey::animatedImageAsyncDecodingEnabledKey()));
3413
    settings.setShouldSuppressTextInputFromEditingDuringProvisionalNavigation(store.getBoolValueForKey(WebPreferencesKey::shouldSuppressTextInputFromEditingDuringProvisionalNavigationKey()));
3414
    settings.setMediaContentTypesRequiringHardwareSupport(store.getStringValueForKey(WebPreferencesKey::mediaContentTypesRequiringHardwareSupportKey()));
3415
    settings.setAllowMediaContentTypesRequiringHardwareSupportAsFallback(store.getBoolValueForKey(WebPreferencesKey::allowMediaContentTypesRequiringHardwareSupportAsFallbackKey()));
3416
3090
3417
#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
3091
    settings.setUseImageDocumentForSubframePDF(true);
3418
    RuntimeEnabledFeatures::sharedFeatures().setLegacyEncryptedMediaAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::legacyEncryptedMediaAPIEnabledKey()));
3092
    DeprecatedGlobalSettings::setAVKitEnabled(true);
3419
#endif
3093
#endif
3420
3094
3421
    RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(store.getBoolValueForKey(WebPreferencesKey::inspectorAdditionsEnabledKey()));
3095
    if (m_drawingArea)
3096
        m_drawingArea->updatePreferences(store);
3422
}
3097
}
3423
3098
3424
#if ENABLE(DATA_DETECTION)
3099
#if ENABLE(DATA_DETECTION)
- Source/WebKit/WebProcess/WebPage/WebPage.h -1 / +1 lines
Lines 1138-1145 private: Source/WebKit/WebProcess/WebPage/WebPage.h_sec1
1138
    void takeSnapshot(WebCore::IntRect snapshotRect, WebCore::IntSize bitmapSize, uint32_t options, CallbackID);
1138
    void takeSnapshot(WebCore::IntRect snapshotRect, WebCore::IntSize bitmapSize, uint32_t options, CallbackID);
1139
1139
1140
    void preferencesDidChange(const WebPreferencesStore&);
1140
    void preferencesDidChange(const WebPreferencesStore&);
1141
    void platformPreferencesDidChange(const WebPreferencesStore&);
1142
    void updatePreferences(const WebPreferencesStore&);
1141
    void updatePreferences(const WebPreferencesStore&);
1142
    void updatePreferencesGenerated(const WebPreferencesStore&);
1143
1143
1144
    void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, WebCore::PolicyAction, uint64_t navigationID, const DownloadID&, WebsitePolicies&&);
1144
    void didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, WebCore::PolicyAction, uint64_t navigationID, const DownloadID&, WebsitePolicies&&);
1145
    void continueWillSubmitForm(uint64_t frameID, uint64_t listenerID);
1145
    void continueWillSubmitForm(uint64_t frameID, uint64_t listenerID);
- Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp -5 lines
Lines 118-128 void WebPage::updateAccessibilityTree() Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp_sec1
118
}
118
}
119
#endif
119
#endif
120
120
121
void WebPage::platformPreferencesDidChange(const WebPreferencesStore&)
122
{
123
    notImplemented();
124
}
125
126
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboardEvent)
121
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboardEvent)
127
{
122
{
128
    if (keyboardEvent.type() != WebEvent::KeyDown && keyboardEvent.type() != WebEvent::RawKeyDown)
123
    if (keyboardEvent.type() != WebEvent::KeyDown && keyboardEvent.type() != WebEvent::RawKeyDown)
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm -5 lines
Lines 147-157 void WebPage::platformInitializeAccessib Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm_sec1
147
    IPC::DataReference dataToken = IPC::DataReference(reinterpret_cast<const uint8_t*>([remoteToken bytes]), [remoteToken length]);
147
    IPC::DataReference dataToken = IPC::DataReference(reinterpret_cast<const uint8_t*>([remoteToken bytes]), [remoteToken length]);
148
    send(Messages::WebPageProxy::RegisterWebProcessAccessibilityToken(dataToken));
148
    send(Messages::WebPageProxy::RegisterWebProcessAccessibilityToken(dataToken));
149
}
149
}
150
    
151
void WebPage::platformPreferencesDidChange(const WebPreferencesStore&)
152
{
153
    notImplemented();
154
}
155
150
156
static void computeEditableRootHasContentAndPlainText(const VisibleSelection& selection, EditorState::PostLayoutData& data)
151
static void computeEditableRootHasContentAndPlainText(const VisibleSelection& selection, EditorState::PostLayoutData& data)
157
{
152
{
- Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -4 lines
Lines 182-191 NSObject *WebPage::accessibilityObjectFo Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm_sec1
182
    return 0;
182
    return 0;
183
}
183
}
184
184
185
void WebPage::platformPreferencesDidChange(const WebPreferencesStore& store)
186
{
187
}
188
189
bool WebPage::shouldUsePDFPlugin() const
185
bool WebPage::shouldUsePDFPlugin() const
190
{
186
{
191
    return pdfPluginEnabled() && classFromPDFKit(@"PDFLayerController");
187
    return pdfPluginEnabled() && classFromPDFKit(@"PDFLayerController");
- Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp -5 lines
Lines 63-73 void WebPage::platformEditorState(Frame& Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp_sec1
63
{
63
{
64
}
64
}
65
65
66
void WebPage::platformPreferencesDidChange(const WebPreferencesStore&)
67
{
68
    notImplemented();
69
}
70
71
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboardEvent)
66
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboardEvent)
72
{
67
{
73
    if (keyboardEvent.type() != WebEvent::KeyDown && keyboardEvent.type() != WebEvent::RawKeyDown)
68
    if (keyboardEvent.type() != WebEvent::KeyDown && keyboardEvent.type() != WebEvent::RawKeyDown)
- Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp -5 lines
Lines 49-59 void WebPage::platformEditorState(Frame& Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp_sec1
49
    notImplemented();
49
    notImplemented();
50
}
50
}
51
51
52
void WebPage::platformPreferencesDidChange(const WebPreferencesStore& store)
53
{
54
    notImplemented();
55
}
56
57
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent&)
52
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent&)
58
{
53
{
59
    notImplemented();
54
    notImplemented();

Return to Bug 178823