[webkit-changes] [WebKit/WebKit] e0c29e: Generate code to check pseudo-class/element argument

Tim Nguyen noreply at github.com
Wed Jan 3 00:35:51 PST 2024


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

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

  Log Message:
  -----------
  Generate code to check pseudo-class/element argument
https://bugs.webkit.org/show_bug.cgi?id=267029
rdar://120404097

Reviewed by Ryosuke Niwa.

Add a field in `CSSPseudoSelectors.json` that represents whether a pseudo takes a required or optional argument, and use it to:
- generate `isOnlyPseudoClassFunction` as `CSSSelector::pseudoClassRequiresArgument`
- generate `isOnlyPseudoElementFunction` as `CSSSelector::pseudoElementRequiresArgument`
- add ASSERTs when serialization code hasn't been provided for pseudos with an optional or required argument

* Source/WebCore/css/CSSPseudoSelectors.json:
* Source/WebCore/css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
* Source/WebCore/css/CSSSelector.h:
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeAttribute):
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::isOnlyPseudoClassFunction): Deleted.
(WebCore::isOnlyPseudoElementFunction): Deleted.
* Source/WebCore/css/process-css-pseudo-selectors.py:

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




More information about the webkit-changes mailing list