[webkit-changes] [WebKit/WebKit] 405fb5: Separate unknown -webkit-prefixed pseudo-elements ...

Anne van Kesteren noreply at github.com
Sat Jan 6 00:56:40 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 405fb5beffd040a63e4da9874d280e4e783c2aa7
      https://github.com/WebKit/WebKit/commit/405fb5beffd040a63e4da9874d280e4e783c2aa7
  Author: Anne van Kesteren <annevk at annevk.nl>
  Date:   2024-01-06 (Sat, 06 Jan 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSPseudoSelectors.json
    M Source/WebCore/css/CSSSelector.cpp
    M Source/WebCore/css/SelectorChecker.cpp
    M Source/WebCore/css/parser/CSSSelectorParser.cpp
    M Source/WebCore/css/parser/MutableCSSSelector.h
    M Source/WebCore/css/process-css-pseudo-selectors.py
    M Source/WebCore/cssjit/SelectorCompiler.cpp
    R Source/WebCore/html/shadow/UserAgentPartIds.cpp
    R Source/WebCore/html/shadow/UserAgentPartIds.h

  Log Message:
  -----------
  Separate unknown -webkit-prefixed pseudo-elements from known
https://bugs.webkit.org/show_bug.cgi?id=266947

Reviewed by Tim Nguyen.

All UserAgentPartIds are moved into CSSPseudoSelectors.json and then
generated from there from now on.

This in combination with adding the WebKitUnknown pseudo-element
identifier corrects @supports so it no longer claims certain
-webkit-prefixed pseudo-elements are unsupported when they are in fact
supported.

Existing PseudoElement::UserAgentPart conditionals are amended to
account for PseudoElement::WebKitUnknown.

FIXMEs are added for areas that need further work.

* LayoutTests/TestExpectations:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSPseudoSelectors.json:
* Source/WebCore/css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::parsePseudoElementName):
* Source/WebCore/css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively const):
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::isPseudoClassValidAfterPseudoElement):
(WebCore::CSSSelectorParser::containsUnknownWebKitPseudoElements):
* Source/WebCore/css/parser/MutableCSSSelector.h:
(WebCore::MutableCSSSelector::needsImplicitShadowCombinatorForMatching const):
* Source/WebCore/css/process-css-pseudo-selectors.py:
(InputValidator.validate_fields):
* Source/WebCore/cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::constructFragmentsInternal):

No need for an else branch here due to the early return usage.

* Source/WebCore/html/shadow/UserAgentPartIds.cpp: Removed.
* Source/WebCore/html/shadow/UserAgentPartIds.h: Removed.

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




More information about the webkit-changes mailing list