Changeset 268495 in webkit


Ignore:
Timestamp:
Oct 14, 2020 3:52:56 PM (4 years ago)
Author:
weinig@apple.com
Message:

[Testing] Generate test header key map for DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=217723

Reviewed by Tim Horton.

Copy test header command type generation from WebKitTestRunner to DumpRenderTree, to
begin support for using any WebPreference from DumpRenderTree. This does not actually
change any behavior yet, just updates the key mapping.

  • DumpRenderTree/CMakeLists.txt:
  • DumpRenderTree/DerivedSources-input.xcfilelist:
  • DumpRenderTree/DerivedSources-output.xcfilelist:
  • DumpRenderTree/DerivedSources.make:
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/Scripts/PreferencesTemplates: Added.
  • DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::keyTypeMapping):

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
Location:
trunk/Tools
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r268490 r268495  
     12020-10-14  Sam Weinig  <weinig@apple.com>
     2
     3        [Testing] Generate test header key map for DumpRenderTree
     4        https://bugs.webkit.org/show_bug.cgi?id=217723
     5
     6        Reviewed by Tim Horton.
     7
     8        Copy test header command type generation from WebKitTestRunner to DumpRenderTree, to
     9        begin support for using any WebPreference from DumpRenderTree. This does not actually
     10        change any behavior yet, just updates the key mapping.
     11
     12        * DumpRenderTree/CMakeLists.txt:
     13        * DumpRenderTree/DerivedSources-input.xcfilelist:
     14        * DumpRenderTree/DerivedSources-output.xcfilelist:
     15        * DumpRenderTree/DerivedSources.make:
     16        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
     17        * DumpRenderTree/Scripts/PreferencesTemplates: Added.
     18        * DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
     19        * DumpRenderTree/TestOptions.cpp:
     20        (WTR::TestOptions::keyTypeMapping):
     21        * DumpRenderTree/TestOptions.h:
     22        * DumpRenderTree/mac/Configurations/Base.xcconfig:
     23
    1242020-10-14  Alexey Proskuryakov  <ap@apple.com>
    225
  • trunk/Tools/DumpRenderTree/CMakeLists.txt

    r268370 r268495  
    4040)
    4141
     42set(DumpRenderTree_WEB_PREFERENCES_TEMPLATES
     43    ${DumpRenderTree_DIR}/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb
     44)
     45
     46set(DumpRenderTree_WEB_PREFERENCES
     47    ${WTF_SCRIPTS_DIR}/Preferences/WebPreferences.yaml
     48    ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesDebug.yaml
     49    ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesExperimental.yaml
     50    ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesInternal.yaml
     51)
     52
     53set_source_files_properties(${DumpRenderTree_WEB_PREFERENCES} PROPERTIES GENERATED TRUE)
     54
     55add_custom_command(
     56    OUTPUT ${DumpRenderTree_DERIVED_SOURCES_DIR}/TestOptionsGeneratedKeys.h
     57    DEPENDS ${DumpRenderTree_WEB_PREFERENCES_TEMPLATES} ${DumpRenderTree_WEB_PREFERENCES} WTF_CopyPreferences
     58    COMMAND ${RUBY_EXECUTABLE} ${WTF_SCRIPTS_DIR}/GeneratePreferences.rb --frontend WebKitLegacy --base ${WTF_SCRIPTS_DIR}/Preferences/WebPreferences.yaml --debug ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesDebug.yaml --experimental ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesExperimental.yaml --internal ${WTF_SCRIPTS_DIR}/Preferences/WebPreferencesInternal.yaml --outputDir "${DumpRenderTree_DERIVED_SOURCES_DIR}" --template ${DumpRenderTree_DIR}/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb
     59    VERBATIM)
     60
     61list(APPEND DumpRenderTree_SOURCES
     62    ${DumpRenderTree_DERIVED_SOURCES_DIR}/TestOptionsGeneratedKeys.h
     63)
     64
    4265WEBKIT_EXECUTABLE_DECLARE(DumpRenderTree)
    4366WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
  • trunk/Tools/DumpRenderTree/DerivedSources-input.xcfilelist

    r244100 r268495  
    11# This file is generated by the generate-xcfilelists script.
     2$(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts/GeneratePreferences.rb
     3$(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts/Preferences/WebPreferences.yaml
     4$(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts/Preferences/WebPreferencesDebug.yaml
     5$(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts/Preferences/WebPreferencesExperimental.yaml
     6$(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts/Preferences/WebPreferencesInternal.yaml
    27$(PROJECT_DIR)/../TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl
    38$(PROJECT_DIR)/Bindings/CodeGeneratorDumpRenderTree.pm
     9$(PROJECT_DIR)/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb
    410$(WEBCORE_PRIVATE_HEADERS_DIR)/CodeGenerator.pm
    511$(WEBCORE_PRIVATE_HEADERS_DIR)/IDLAttributes.json
  • trunk/Tools/DumpRenderTree/DerivedSources-output.xcfilelist

    r244100 r268495  
    22$(BUILT_PRODUCTS_DIR)/DerivedSources/DumpRenderTree/JSUIScriptController.cpp
    33$(BUILT_PRODUCTS_DIR)/DerivedSources/DumpRenderTree/JSUIScriptController.h
     4$(BUILT_PRODUCTS_DIR)/DerivedSources/DumpRenderTree/TestOptionsGeneratedKeys.h
  • trunk/Tools/DumpRenderTree/DerivedSources.make

    r238637 r268495  
    1 # Copyright (C) 2016 Apple Inc. All rights reserved.
     1# Copyright (C) 2016-2020 Apple Inc. All rights reserved.
    22#
    33# Redistribution and use in source and binary forms, with or without
     
    2121# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    2222# THE POSSIBILITY OF SUCH DAMAGE.
     23
     24RUBY = ruby
     25
     26WEB_PREFERENCES = \
     27    ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferences.yaml \
     28    ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesDebug.yaml \
     29    ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesExperimental.yaml \
     30    ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesInternal.yaml \
     31#
     32
     33WEB_PREFERENCES_TEMPLATES = \
     34    $(DumpRenderTree)/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb \
     35#
     36WEB_PREFERENCES_FILES = $(basename $(notdir $(WEB_PREFERENCES_TEMPLATES)))
     37WEB_PREFERENCES_PATTERNS = $(subst .,%,$(WEB_PREFERENCES_FILES))
     38
     39all : $(WEB_PREFERENCES_FILES)
     40
     41$(WEB_PREFERENCES_PATTERNS) : $(WTF_BUILD_SCRIPTS_DIR)/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WEB_PREFERENCES)
     42        $(RUBY) $< --frontend WebKitLegacy --base ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferences.yaml --debug ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesDebug.yaml --experimental ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesExperimental.yaml --internal ${WTF_BUILD_SCRIPTS_DIR}/Preferences/WebPreferencesInternal.yaml $(addprefix --template , $(WEB_PREFERENCES_TEMPLATES))
     43
    2344
    2445UISCRIPTCONTEXT_DIR = $(DumpRenderTree)/../TestRunnerShared/UIScriptContext/Bindings
  • trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj

    r268370 r268495  
    331331                53CBB831134E42F3001CE6A4 /* CyclicRedundancyCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CyclicRedundancyCheck.h; sourceTree = "<group>"; };
    332332                5DE8AE4313A2C15800D6A37D /* libWebCoreTestSupport.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libWebCoreTestSupport.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
     333                7C44697F25377A020024290A /* TestOptionsGeneratedKeys.h.erb */ = {isa = PBXFileReference; lastKnownFileType = text; path = TestOptionsGeneratedKeys.h.erb; sourceTree = "<group>"; };
     334                7C44698025377A020024290A /* check-xcfilelists.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "check-xcfilelists.sh"; sourceTree = "<group>"; };
     335                7C44698125377A020024290A /* generate-derived-sources.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "generate-derived-sources.sh"; sourceTree = "<group>"; };
     336                7C44698525377E520024290A /* TestOptionsGeneratedKeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TestOptionsGeneratedKeys.h; path = TestOptionsGeneratedKeys.h; sourceTree = "<group>"; };
    333337                7CBBC3221DDFCF9A00786B9D /* TestOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestOptions.h; sourceTree = "<group>"; };
    334338                7CFF9BBD2533BB240008009F /* TestFeatures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestFeatures.h; sourceTree = "<group>"; };
     
    498502                        children = (
    499503                                0F18E6F11D6B9C640027E547 /* DerivedSources.make */,
     504                                7C44698225377C340024290A /* Derived Sources */,
    500505                                3148A0651E6F90F400D3B316 /* TestRunnerShared */,
    501506                                0F18E6E71D6B9BF50027E547 /* UIScriptContext */,
     
    530535                                417DA9181373674D007C57FB /* WebCoreTestSupport */,
    531536                                A803FF6409CAACC1009B2A37 /* Frameworks */,
     537                                7C44697D25377A020024290A /* Scripts */,
     538                                BCB281ED0CFA711D007E533E /* Configurations */,
    532539                                9340995508540CAF007F3BC8 /* Products */,
    533                                 BCB281ED0CFA711D007E533E /* Configurations */,
    534540                        );
    535541                        name = DumpRenderTree;
     
    750756                        name = WebCoreTestSupport;
    751757                        sourceTree = "<group>";
     758                };
     759                7C44697D25377A020024290A /* Scripts */ = {
     760                        isa = PBXGroup;
     761                        children = (
     762                                7C44697E25377A020024290A /* PreferencesTemplates */,
     763                                7C44698025377A020024290A /* check-xcfilelists.sh */,
     764                                7C44698125377A020024290A /* generate-derived-sources.sh */,
     765                        );
     766                        path = Scripts;
     767                        sourceTree = "<group>";
     768                };
     769                7C44697E25377A020024290A /* PreferencesTemplates */ = {
     770                        isa = PBXGroup;
     771                        children = (
     772                                7C44697F25377A020024290A /* TestOptionsGeneratedKeys.h.erb */,
     773                        );
     774                        path = PreferencesTemplates;
     775                        sourceTree = "<group>";
     776                };
     777                7C44698225377C340024290A /* Derived Sources */ = {
     778                        isa = PBXGroup;
     779                        children = (
     780                                7C44698525377E520024290A /* TestOptionsGeneratedKeys.h */,
     781                        );
     782                        name = "Derived Sources";
     783                        path = DerivedSources/DumpRenderTree;
     784                        sourceTree = BUILT_PRODUCTS_DIR;
    752785                };
    753786                9340995508540CAF007F3BC8 /* Products */ = {
  • trunk/Tools/DumpRenderTree/TestOptions.cpp

    r268400 r268495  
    2727#include "TestOptions.h"
    2828
    29 #include "TestFeatures.h"
    30 #include <string>
     29#include "TestOptionsGeneratedKeys.h"
    3130
    3231namespace WTR {
     
    3534{
    3635    static const std::unordered_map<std::string, TestHeaderKeyType> map {
    37         { "AcceleratedDrawingEnabled", TestHeaderKeyType::BoolWebPreference },
    38         { "AllowCrossOriginSubresourcesToAskForCredentials", TestHeaderKeyType::BoolWebPreference },
    39         { "AllowTopNavigationToDataURLs", TestHeaderKeyType::BoolWebPreference },
    40         { "AttachmentElementEnabled", TestHeaderKeyType::BoolWebPreference },
    41         { "ColorFilterEnabled", TestHeaderKeyType::BoolWebPreference },
    42         { "InspectorAdditionsEnabled", TestHeaderKeyType::BoolWebPreference },
    43         { "IntersectionObserverEnabled", TestHeaderKeyType::BoolWebPreference },
    44         { "KeygenElementEnabled", TestHeaderKeyType::BoolWebPreference },
    45         { "MenuItemElementEnabled", TestHeaderKeyType::BoolWebPreference },
    46         { "ModernMediaControlsEnabled", TestHeaderKeyType::BoolWebPreference },
    47         { "UsesBackForwardCache", TestHeaderKeyType::BoolWebPreference },
     36        GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS
    4837
    4938        { "dumpJSConsoleLogInStdErr", TestHeaderKeyType::BoolTestRunner },
  • trunk/Tools/DumpRenderTree/TestOptions.h

    r268400 r268495  
    3333
    3434struct TestOptions {
     35    // FIXME: Remove these and replace with access to TestFeatures set.
     36    // Web Preferences
     37    bool allowCrossOriginSubresourcesToAskForCredentials { false };
     38    bool allowTopNavigationToDataURLs { true };
     39    bool enableAcceleratedDrawing { false };
    3540    bool enableAttachmentElement { false };
    36     bool enableAcceleratedDrawing { false };
     41    bool enableBackForwardCache { false };
     42    bool enableColorFilter { false };
     43    bool enableInspectorAdditions { false };
    3744    bool enableIntersectionObserver { false };
    38     bool useEphemeralSession { false };
    39     bool enableBackForwardCache { false };
     45    bool enableKeygenElement { false };
    4046    bool enableMenuItemElement { false };
    41     bool enableKeygenElement { false };
    4247    bool enableModernMediaControls { true };
    43     bool enableDragDestinationActionLoad { false };
    44     bool layerBackedWebView { false };
    45     bool enableInspectorAdditions { false };
    46     bool dumpJSConsoleLogInStdErr { false };
    47     bool allowCrossOriginSubresourcesToAskForCredentials { false };
    48     bool enableColorFilter { false };
    49     bool enableSelectionAcrossShadowBoundaries { true };
    50     bool enableWebGPU { false };
     48
     49    // FIXME: Remove these and replace with access to TestFeatures set.
     50    // Internal Features
    5151    bool enableCSSLogical { false };
    5252    bool enableLineHeightUnits { false };
     53    bool enableSelectionAcrossShadowBoundaries { true };
     54    bool layoutFormattingContextIntegrationEnabled { true };
     55
     56    // FIXME: Remove these and replace with access to TestFeatures set.
     57    // Experimental Features
    5358    bool adClickAttributionEnabled { false };
    54     bool enableResizeObserver { false };
     59    bool enableAspectRatioOfImgFromWidthAndHeight { false };
     60    bool enableAsyncClipboardAPI { false };
    5561    bool enableCSSOMViewSmoothScrolling { false };
     62    bool enableContactPickerAPI { false };
    5663    bool enableCoreMathML { false };
    5764    bool enableRequestIdleCallback { false };
    58     bool enableAsyncClipboardAPI { false };
    59     bool enableContactPickerAPI { false };
    60     bool layoutFormattingContextIntegrationEnabled { true };
    61     bool enableAspectRatioOfImgFromWidthAndHeight { false };
     65    bool enableResizeObserver { false };
     66    bool enableWebGPU { false };
     67
     68    // Test Runner Specific Features
     69    bool dumpJSConsoleLogInStdErr { false };
     70    bool enableDragDestinationActionLoad { false };
    6271    bool enableWebSQL { true };
    63     bool allowTopNavigationToDataURLs { true };
     72    bool layerBackedWebView { false };
     73    bool useEphemeralSession { false };
     74    std::string additionalSupportedImageTypes;
    6475    std::string jscOptions;
    65     std::string additionalSupportedImageTypes;
    6676
    6777    explicit TestOptions(TestFeatures);
  • trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig

    r268331 r268495  
    104104PRODUCTION_FRAMEWORKS_DIR[sdk=macosx*] = $(SDKROOT)$(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Frameworks;
    105105
     106WTF_BUILD_SCRIPTS_DIR = $(WTF_BUILD_SCRIPTS_DIR_$(CONFIGURATION));
     107WTF_BUILD_SCRIPTS_DIR_Release = $(WTF_BUILD_SCRIPTS_DIR_engineering);
     108WTF_BUILD_SCRIPTS_DIR_Debug = $(WTF_BUILD_SCRIPTS_DIR_engineering);
     109WTF_BUILD_SCRIPTS_DIR_Production = $(WTF_BUILD_SCRIPTS_DIR_Production_COCOA_TOUCH_$(WK_IS_COCOA_TOUCH));
     110WTF_BUILD_SCRIPTS_DIR_Production_COCOA_TOUCH_YES = $(SDKROOT)$(WK_ALTERNATE_WEBKIT_SDK_PATH)/usr/local/include/wtf/Scripts;
     111WTF_BUILD_SCRIPTS_DIR_Production_COCOA_TOUCH_NO = $(SDKROOT)/usr/local/include/wtf/Scripts;
     112WTF_BUILD_SCRIPTS_DIR_engineering = $(BUILT_PRODUCTS_DIR)/usr/local/include/wtf/Scripts;
     113
    106114WEBCORE_PRIVATE_HEADERS_DIR = $(WEBCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
    107115WEBCORE_PRIVATE_HEADERS_DIR_Release = $(WEBCORE_PRIVATE_HEADERS_DIR_engineering);
     
    130138WK_COCOA_TOUCH_appletvos = cocoatouch;
    131139WK_COCOA_TOUCH_appletvsimulator = cocoatouch;
     140WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH)));
    132141
    133142HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport ForwardingHeaders $(HEADER_SEARCH_PATHS_$(WK_COCOA_TOUCH));
Note: See TracChangeset for help on using the changeset viewer.