Changeset 224154 in webkit


Ignore:
Timestamp:
Oct 28, 2017 11:24:39 AM (6 years ago)
Author:
weinig@apple.com
Message:

[Settings] Generate more of the WebKit preferences code
https://bugs.webkit.org/show_bug.cgi?id=178945

Reviewed by Chris Dumez.

Generate WebPreferencesKeys.{h,cpp} and WebPreferencesStoreDefaultsMap.cpp

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebKit.xcodeproj/project.pbxproj:
  • Scripts/GeneratePreferences.rb:


Generate new files.


  • Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:


Update include.


  • Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb: Added.
  • Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb: Added.
  • Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb: Added.

Add template files for new generated files.

  • Shared/WebPreferencesDefaultValues.h: Copied from Source/WebKit/Shared/WebPreferencesDefinitionsBase.h.
  • Shared/WebPreferencesDefinitionsBase.h:


Renamed WebPreferencesDefinitionsBase.h to WebPreferencesDefaultValues.h to better indicate what it is.


  • Shared/WebPreferencesKeys.cpp: Removed.
  • Shared/WebPreferencesKeys.h: Removed.


Replaced with generated versions.

  • Shared/WebPreferencesStore.cpp:

(WebKit::defaults): Deleted.

  • Shared/WebPreferencesStore.h:


Replace macro driven defaults map with generated WebPreferencesStoreDefaultsMap.cpp.

Location:
trunk/Source/WebKit
Files:
3 added
2 deleted
9 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/CMakeLists.txt

    r224077 r224154  
    210210    Shared/WebPlatformTouchPoint.cpp
    211211    Shared/WebPopupItem.cpp
    212     Shared/WebPreferencesKeys.cpp
    213212    Shared/WebPreferencesStore.cpp
    214213    Shared/WebProcessCreationParameters.cpp
     
    910909    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb
    911910    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb
     911    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb
     912    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb
     913    ${WEBKIT_DIR}/Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb
    912914)
    913915
    914916add_custom_command(
    915     OUTPUT ${DERIVED_SOURCES_WEBKIT_DIR}/WebPageUpdatePreferences.cpp ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
     917    OUTPUT ${DERIVED_SOURCES_WEBKIT_DIR}/WebPageUpdatePreferences.cpp ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesKeys.cpp ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesKeys.h ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesStoreDefaultsMap.cpp
    916918    MAIN_DEPENDENCY ${WEBKIT_DIR}/Shared/WebPreferences.yaml
    917919    DEPENDS ${WebKit_WEB_PREFERENCES_TEMPLATES}
     
    921923list(APPEND WebKit_HEADERS
    922924    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesDefinitions.h
     925    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesKeys.h
    923926)
    924927
    925928list(APPEND WebKit_SOURCES
    926929    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPageUpdatePreferences.cpp
     930    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesKeys.cpp
     931    ${DERIVED_SOURCES_WEBKIT_DIR}/WebPreferencesStoreDefaultsMap.cpp
    927932)
    928933
  • trunk/Source/WebKit/ChangeLog

    r224153 r224154  
     12017-10-27  Sam Weinig  <sam@webkit.org>
     2
     3        [Settings] Generate more of the WebKit preferences code
     4        https://bugs.webkit.org/show_bug.cgi?id=178945
     5
     6        Reviewed by Chris Dumez.
     7
     8        Generate WebPreferencesKeys.{h,cpp} and WebPreferencesStoreDefaultsMap.cpp
     9
     10        * CMakeLists.txt:
     11        * DerivedSources.make:
     12        * WebKit.xcodeproj/project.pbxproj:
     13        * Scripts/GeneratePreferences.rb:
     14       
     15            Generate new files.
     16       
     17        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
     18       
     19            Update include.
     20       
     21        * Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb: Added.
     22        * Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb: Added.
     23        * Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb: Added.
     24
     25            Add template files for new generated files.
     26
     27        * Shared/WebPreferencesDefaultValues.h: Copied from Source/WebKit/Shared/WebPreferencesDefinitionsBase.h.
     28        * Shared/WebPreferencesDefinitionsBase.h:
     29       
     30            Renamed WebPreferencesDefinitionsBase.h to WebPreferencesDefaultValues.h to better indicate what it is.
     31       
     32        * Shared/WebPreferencesKeys.cpp: Removed.
     33        * Shared/WebPreferencesKeys.h: Removed.
     34       
     35            Replaced with generated versions.
     36
     37        * Shared/WebPreferencesStore.cpp:
     38        (WebKit::defaults): Deleted.
     39        * Shared/WebPreferencesStore.h:
     40       
     41            Replace macro driven defaults map with generated WebPreferencesStoreDefaultsMap.cpp.
     42
    1432017-10-28  Chris Dumez  <cdumez@apple.com>
    244
  • trunk/Source/WebKit/DerivedSources.make

    r224077 r224154  
    291291    $(WebKit2)/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb \
    292292    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb \
    293 #
    294 
    295 all : WebPreferencesDefinitions.h WebPageUpdatePreferences.cpp
    296 
    297 WebPreferencesDefinitions%h WebPageUpdatePreferences%cpp: $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml
     293    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb \
     294    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb \
     295    $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb \
     296
     297#
     298
     299all : WebPreferencesDefinitions.h WebPageUpdatePreferences.cpp WebPreferencesKeys.h WebPreferencesKeys.cpp WebPreferencesStoreDefaultsMap.cpp
     300
     301WebPreferencesDefinitions%h WebPageUpdatePreferences%cpp WebPreferencesKeys%h WebPreferencesKeys%cpp WebPreferencesStoreDefaultsMap%cpp : $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml
    298302        $(RUBY) $< --input $(WebKit2)/Shared/WebPreferences.yaml
    299303
  • trunk/Source/WebKit/Scripts/GeneratePreferences.rb

    r224077 r224154  
    157157preferences.renderToFile("PreferencesTemplates/WebPreferencesDefinitions.h.erb", File.join(options[:outputDirectory], "WebPreferencesDefinitions.h"))
    158158preferences.renderToFile("PreferencesTemplates/WebPageUpdatePreferences.cpp.erb", File.join(options[:outputDirectory], "WebPageUpdatePreferences.cpp"))
     159preferences.renderToFile("PreferencesTemplates/WebPreferencesKeys.h.erb", File.join(options[:outputDirectory], "WebPreferencesKeys.h"))
     160preferences.renderToFile("PreferencesTemplates/WebPreferencesKeys.cpp.erb", File.join(options[:outputDirectory], "WebPreferencesKeys.cpp"))
     161preferences.renderToFile("PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb", File.join(options[:outputDirectory], "WebPreferencesStoreDefaultsMap.cpp"))
  • trunk/Source/WebKit/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb

    r224080 r224154  
    2828#pragma once
    2929
    30 #include "WebPreferencesDefinitionsBase.h"
     30#include "WebPreferencesDefaultValues.h"
    3131
    3232// macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue, HumanReadableName, HumanReadableDescription)
  • trunk/Source/WebKit/Shared/WebPreferences.yaml

    r224077 r224154  
    1 
    21JavaScriptEnabled:
    32  type: bool
  • trunk/Source/WebKit/Shared/WebPreferencesStore.cpp

    r223720 r224154  
    2727#include "WebPreferencesStore.h"
    2828
    29 #include "FontSmoothingLevel.h"
    3029#include "WebCoreArgumentCoders.h"
    3130#include "WebPreferencesKeys.h"
    32 #include <WebCore/DeprecatedGlobalSettings.h>
    33 #include <WebCore/LibWebRTCProvider.h>
    34 #include <WebCore/Settings.h>
    35 #include <WebCore/TextEncodingRegistry.h>
    3631#include <wtf/NeverDestroyed.h>
    3732
     
    159154
    160155
    161 static WebPreferencesStore::ValueMap& defaults()
    162 {
    163     static NeverDestroyed<WebPreferencesStore::ValueMap> defaults;
    164     if (defaults.get().isEmpty()) {
    165 #define DEFINE_DEFAULTS(KeyUpper, KeyLower, TypeName, Type, DefaultValue, HumanReadableName, HumanReadableDescription) defaults.get().set(WebPreferencesKey::KeyLower##Key(), WebPreferencesStore::Value((Type)DefaultValue));
    166         FOR_EACH_WEBKIT_PREFERENCE(DEFINE_DEFAULTS)
    167         FOR_EACH_WEBKIT_DEBUG_PREFERENCE(DEFINE_DEFAULTS)
    168         FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(DEFINE_DEFAULTS)
    169 #undef DEFINE_DEFAULTS
    170     }
    171 
    172     return defaults;
    173 }
    174 
    175156template<typename MappedType>
    176157static MappedType valueForKey(const WebPreferencesStore::ValueMap& values, const WebPreferencesStore::ValueMap& overridenDefaults, const String& key)
     
    184165        return as<MappedType>(overridenDefaultsIt->value);
    185166
    186     auto& defaultsMap = defaults();
     167    auto& defaultsMap = WebPreferencesStore::defaults();
    187168    auto defaultsIt = defaultsMap.find(key);
    188169    if (defaultsIt != defaultsMap.end() && defaultsIt->value.type() == ToType<MappedType>::value)
  • trunk/Source/WebKit/Shared/WebPreferencesStore.h

    r215255 r224154  
    180180    ValueMap m_values;
    181181    ValueMap m_overridenDefaults;
     182
     183    static ValueMap& defaults();
    182184};
    183185
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r224077 r224154  
    12901290                7C6D37FC172F555F009D2847 /* PageBannerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C6D37FA172F555F009D2847 /* PageBannerMac.mm */; };
    12911291                7C6E70FB18B2DC7A00F24E2E /* WebProcessCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C6E70F918B2D4A000F24E2E /* WebProcessCocoa.mm */; };
    1292                 7C85FD7F19341665000177C4 /* WebPreferencesKeys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C85FD7D19341665000177C4 /* WebPreferencesKeys.cpp */; };
    1293                 7C85FD8019341665000177C4 /* WebPreferencesKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C85FD7E19341665000177C4 /* WebPreferencesKeys.h */; };
    12941292                7C882DF71C7E9965006BF731 /* _WKUserContentWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C882DF31C7E995E006BF731 /* _WKUserContentWorld.h */; settings = {ATTRIBUTES = (Private, ); }; };
    12951293                7C882DF81C7E996C006BF731 /* _WKUserContentWorld.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C882DF41C7E995E006BF731 /* _WKUserContentWorld.mm */; };
     
    13201318                7CA3793E1AC378B30079DC37 /* _WKUserContentExtensionStorePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CA3793D1AC378B30079DC37 /* _WKUserContentExtensionStorePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
    13211319                7CAB937A1D459E510070F540 /* NetworkCacheCodersCocoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CAB93791D459E4B0070F540 /* NetworkCacheCodersCocoa.cpp */; };
     1320                7CB100F11FA3858A001729EE /* WebPreferencesKeys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CB100EE1FA2D74A001729EE /* WebPreferencesKeys.cpp */; };
     1321                7CB100F21FA3858E001729EE /* WebPreferencesDefinitions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CDE73A31F9DAB6500390312 /* WebPreferencesDefinitions.h */; };
     1322                7CB100F31FA3858E001729EE /* WebPreferencesKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CB100EF1FA2D74B001729EE /* WebPreferencesKeys.h */; };
     1323                7CB100F41FA38592001729EE /* WebPreferencesStoreDefaultsMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CB100F01FA2D784001729EE /* WebPreferencesStoreDefaultsMap.cpp */; };
    13221324                7CB16FEF1724BA23007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */; };
    13231325                7CB16FF01724BA24007A0A95 /* com.apple.QuickTime Plugin.plugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 7CB16FE31724B9B5007A0A95 /* com.apple.QuickTime Plugin.plugin.sb */; };
     
    36703672                7C6D37FA172F555F009D2847 /* PageBannerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PageBannerMac.mm; sourceTree = "<group>"; };
    36713673                7C6E70F918B2D4A000F24E2E /* WebProcessCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessCocoa.mm; sourceTree = "<group>"; };
    3672                 7C85FD7D19341665000177C4 /* WebPreferencesKeys.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPreferencesKeys.cpp; sourceTree = "<group>"; };
    3673                 7C85FD7E19341665000177C4 /* WebPreferencesKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferencesKeys.h; sourceTree = "<group>"; };
    36743674                7C882DF31C7E995E006BF731 /* _WKUserContentWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKUserContentWorld.h; sourceTree = "<group>"; };
    36753675                7C882DF41C7E995E006BF731 /* _WKUserContentWorld.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKUserContentWorld.mm; sourceTree = "<group>"; };
     
    37003700                7CA3793D1AC378B30079DC37 /* _WKUserContentExtensionStorePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKUserContentExtensionStorePrivate.h; sourceTree = "<group>"; };
    37013701                7CAB93791D459E4B0070F540 /* NetworkCacheCodersCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkCacheCodersCocoa.cpp; sourceTree = "<group>"; };
     3702                7CB100EE1FA2D74A001729EE /* WebPreferencesKeys.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebPreferencesKeys.cpp; sourceTree = "<group>"; };
     3703                7CB100EF1FA2D74B001729EE /* WebPreferencesKeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebPreferencesKeys.h; sourceTree = "<group>"; };
     3704                7CB100F01FA2D784001729EE /* WebPreferencesStoreDefaultsMap.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebPreferencesStoreDefaultsMap.cpp; sourceTree = "<group>"; };
    37023705                7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.ist.ds.appleconnect.webplugin.sb; sourceTree = "<group>"; };
    37033706                7CB16FE31724B9B5007A0A95 /* com.apple.QuickTime Plugin.plugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "com.apple.QuickTime Plugin.plugin.sb"; sourceTree = "<group>"; };
     
    37283731                7CD622761739D863005BD7FF /* PluginSandboxProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginSandboxProfile.h; sourceTree = "<group>"; };
    37293732                7CDE739F1F9DA37A00390312 /* WebPreferences.yaml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebPreferences.yaml; sourceTree = "<group>"; };
    3730                 7CDE73A01F9DA37B00390312 /* WebPreferencesDefinitionsBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferencesDefinitionsBase.h; sourceTree = "<group>"; };
     3733                7CDE73A01F9DA37B00390312 /* WebPreferencesDefaultValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferencesDefaultValues.h; sourceTree = "<group>"; };
    37313734                7CDE73A11F9DA41400390312 /* GeneratePreferences.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = GeneratePreferences.rb; sourceTree = "<group>"; };
    37323735                7CDE73A21F9DA59700390312 /* PreferencesTemplates */ = {isa = PBXFileReference; lastKnownFileType = folder; path = PreferencesTemplates; sourceTree = "<group>"; };
     
    51455148                                BC5744EE12638FB3006F0F12 /* WebPopupItem.h */,
    51465149                                7CDE739F1F9DA37A00390312 /* WebPreferences.yaml */,
    5147                                 7CDE73A01F9DA37B00390312 /* WebPreferencesDefinitionsBase.h */,
    5148                                 7C85FD7D19341665000177C4 /* WebPreferencesKeys.cpp */,
    5149                                 7C85FD7E19341665000177C4 /* WebPreferencesKeys.h */,
     5150                                7CDE73A01F9DA37B00390312 /* WebPreferencesDefaultValues.h */,
    51505151                                BCD598AB112B7FDF00EC8C23 /* WebPreferencesStore.cpp */,
    51515152                                BCD598AA112B7FDF00EC8C23 /* WebPreferencesStore.h */,
     
    81468147                                1AB1F7951D1B3613007C9BD1 /* WebPaymentCoordinatorProxyMessages.h */,
    81478148                                7CDE73A31F9DAB6500390312 /* WebPreferencesDefinitions.h */,
     8149                                7CB100EE1FA2D74A001729EE /* WebPreferencesKeys.cpp */,
     8150                                7CB100EF1FA2D74B001729EE /* WebPreferencesKeys.h */,
     8151                                7CB100F01FA2D784001729EE /* WebPreferencesStoreDefaultsMap.cpp */,
    81488152                                1A043F6712514D8B00FFBFB5 /* WebProcessConnectionMessageReceiver.cpp */,
    81498153                                1A043F6812514D8B00FFBFB5 /* WebProcessConnectionMessages.h */,
     
    90449048                                BC5750971268F3C6006F0F12 /* WebPopupMenuProxyMac.h in Headers */,
    90459049                                BCD597FF112B57BE00EC8C23 /* WebPreferences.h in Headers */,
    9046                                 7C85FD8019341665000177C4 /* WebPreferencesKeys.h in Headers */,
     9050                                7CB100F21FA3858E001729EE /* WebPreferencesDefinitions.h in Headers */,
     9051                                7CB100F31FA3858E001729EE /* WebPreferencesKeys.h in Headers */,
    90479052                                BCD598AC112B7FDF00EC8C23 /* WebPreferencesStore.h in Headers */,
    90489053                                A1C512C9190656E500448914 /* WebPreviewLoaderClient.h in Headers */,
     
    1068910694                                BC5750981268F3C6006F0F12 /* WebPopupMenuProxyMac.mm in Sources */,
    1069010695                                BCD59800112B57BE00EC8C23 /* WebPreferences.cpp in Sources */,
    10691                                 7C85FD7F19341665000177C4 /* WebPreferencesKeys.cpp in Sources */,
     10696                                7CB100F11FA3858A001729EE /* WebPreferencesKeys.cpp in Sources */,
    1069210697                                BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */,
    1069310698                                BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */,
     10699                                7CB100F41FA38592001729EE /* WebPreferencesStoreDefaultsMap.cpp in Sources */,
    1069410700                                A1C512C8190656E500448914 /* WebPreviewLoaderClient.cpp in Sources */,
    1069510701                                BC111AE4112F5C2600337BAB /* WebProcess.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.