[webkit-changes] [WebKit/WebKit] 9bfed8: Generate pseudo-class serialization and pseudo-ele...

Tim Nguyen noreply at github.com
Tue Jan 2 15:13:46 PST 2024


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

  Changed paths:
    M Source/WebCore/css/CSSSelector.cpp
    M Source/WebCore/css/CSSSelector.h
    M Source/WebCore/css/parser/CSSParserSelector.cpp
    M Source/WebCore/css/process-css-pseudo-selectors.py

  Log Message:
  -----------
  Generate pseudo-class serialization and pseudo-element aliasing
https://bugs.webkit.org/show_bug.cgi?id=266978
rdar://120359881

Reviewed by Darin Adler.

- Pseudo-class serialization is mechanical, generate most of it. We don't re-use the same approach as pseudo-elements for serialization
since that initializes CSSSelector rare data, and also because each possible value has a 1:1 mapping to the PseudoClass enum, unlike for PseudoElement.
- Generate code for aliasing at parse-time for `PseudoElement::WebKitCustomLegacyPrefixed`

This commit gets us closer to having CSSPseudoSelectors.json becoming a single source of truth.

* Source/WebCore/css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
* Source/WebCore/css/CSSSelector.h:
* Source/WebCore/css/parser/CSSParserSelector.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector):
* Source/WebCore/css/process-css-pseudo-selectors.py:

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




More information about the webkit-changes mailing list