[webkit-changes] [WebKit/WebKit] c4adae: Implement @supports with CSS nesting

Matthieu Dubet noreply at github.com
Wed Mar 1 07:19:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c4adae4df0f33dcecf1ebcfa82bf5b37e2026ecf
      https://github.com/WebKit/WebKit/commit/c4adae4df0f33dcecf1ebcfa82bf5b37e2026ecf
  Author: Matthieu Dubet <m_dubet at apple.com>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule.html
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/parser/CSSParser.cpp
    M Source/WebCore/css/parser/CSSParser.h
    A Source/WebCore/css/parser/CSSParserEnum.h
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/parser/CSSSelectorParser.cpp
    M Source/WebCore/css/parser/CSSSelectorParser.h
    M Source/WebCore/css/parser/CSSSupportsParser.cpp
    M Source/WebCore/css/parser/CSSSupportsParser.h
    M Source/WebCore/inspector/InspectorStyleSheet.cpp

  Log Message:
  -----------
  Implement @supports with CSS nesting
https://bugs.webkit.org/show_bug.cgi?id=252301
rdar://105485711

Reviewed by Brent Fulgham.

The @supports(selector(...)) feature need to be aware of the
parser nesting context to properly works with relative nested selector.

* LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/supports-rule.html: Added.
* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSupportsCondition):
(WebCore::CSSParser::parseSelector):
* Source/WebCore/css/parser/CSSParser.h:
* Source/WebCore/css/parser/CSSParserEnum.h: Added
* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeStyleRule):
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::parseCSSSelector):
(WebCore::CSSSelectorParser::CSSSelectorParser):
(WebCore::CSSSelectorParser::consumeNestedSelectorList):
(WebCore::CSSSelectorParser::supportsComplexSelector):
(WebCore::CSSSelectorParser::consumeNestedComplexSelector):
(WebCore::CSSSelectorParser::consumeSimpleSelector):
* Source/WebCore/css/parser/CSSSelectorParser.h:
* Source/WebCore/css/parser/CSSSupportsParser.cpp:
(WebCore::CSSSupportsParser::supportsCondition):
(WebCore::CSSSupportsParser::consumeSupportsSelectorFunction):
* Source/WebCore/css/parser/CSSSupportsParser.h:
(WebCore::CSSSupportsParser::CSSSupportsParser):
* Source/WebCore/inspector/InspectorStyleSheet.cpp:
(WebCore::isValidRuleHeaderText):
(WebCore::isNestedContext):

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




More information about the webkit-changes mailing list