[webkit-changes] [WebKit/WebKit] e7d1fc: Generate pseudo class & pseudo element maps from a...

Tim Nguyen noreply at github.com
Mon Jan 1 00:31:01 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e7d1fc99f36d6b36ad8d9cbf0e5b8728ab1e5855
      https://github.com/WebKit/WebKit/commit/e7d1fc99f36d6b36ad8d9cbf0e5b8728ab1e5855
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2024-01-01 (Mon, 01 Jan 2024)

  Changed paths:
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/css/CSSPseudoSelectors.json
    R Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in
    R Source/WebCore/css/SelectorPseudoElementMap.in
    R Source/WebCore/css/makeSelectorPseudoClassAndCompatibilityElementMap.py
    R Source/WebCore/css/makeSelectorPseudoElementsMap.py
    A Source/WebCore/css/process-css-pseudo-selectors.py

  Log Message:
  -----------
  Generate pseudo class & pseudo element maps from a single JSON file
https://bugs.webkit.org/show_bug.cgi?id=266956
rdar://120333899

Reviewed by Darin Adler.

Instead of using two seperate `.in` files to store pseudo class / element data, use a single `.json` file.

This allows:
- storing the data in a more structured fashion
- storing more data than the `.in` files can hold, opening up the way to more code generation

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSPseudoSelectors.json: Added.
* Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in: Removed.
* Source/WebCore/css/SelectorPseudoElementMap.in: Removed.
* Source/WebCore/css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Removed.
* Source/WebCore/css/makeSelectorPseudoElementsMap.py: Removed.
* Source/WebCore/css/process-css-pseudo-selectors.py: Added.
(Writer):
(Writer.__init__):
(Writer._current_indent):
(Writer.write):
(Writer.write_block):
(Writer.write_lines):
(Writer.newline):
(Writer.Indent):
(Writer.Indent.__init__):
(Writer.Indent.__enter__):
(Writer.Indent.__exit__):
(Writer.indent):
(key_is_true):
(expand_ifdef_condition):
(format_name_for_enum_class):
(format_name_for_enum_class.format):
(GPerfMappingGenerator):
(GPerfMappingGenerator.__init__):
(GPerfMappingGenerator.is_pseudo_selector_enabled):
(GPerfMappingGenerator.generate_pseudo_class_and_compatibility_element_map):
(GPerfMappingGenerator.generate_pseudo_class_and_compatibility_element_map.in):
(GPerfMappingGenerator.generate_pseudo_element_map):
(GPerfOutputGenerator):
(GPerfOutputGenerator.__init__):
(GPerfOutputGenerator.write_copyright_header):

Canonical link: https://commits.webkit.org/272549@main




More information about the webkit-changes mailing list