[webkit-changes] [WebKit/WebKit] 44cfc5: [view-transitions] Support parsing and checking :a...

Kiet Ho noreply at github.com
Fri Aug 16 04:22:23 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 44cfc58a80e6797fd128ce8bd4070a779c56980f
      https://github.com/WebKit/WebKit/commit/44cfc58a80e6797fd128ce8bd4070a779c56980f
  Author: Kiet Ho <tho22 at apple.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches-ref.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-mutation-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-mutation.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-ref.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved.html
    M LayoutTests/platform/glib/TestExpectations
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/css/CSSPseudoSelectors.json
    M Source/WebCore/css/CSSSelector.cpp
    M Source/WebCore/css/CSSSelector.h
    M Source/WebCore/css/SelectorChecker.cpp
    M Source/WebCore/css/SelectorCheckerTestFunctions.h
    M Source/WebCore/css/parser/CSSParserContext.cpp
    M Source/WebCore/css/parser/CSSParserContext.h
    M Source/WebCore/css/parser/CSSSelectorParser.cpp
    M Source/WebCore/css/parser/CSSSelectorParserContext.cpp
    M Source/WebCore/css/parser/CSSSelectorParserContext.h
    M Source/WebCore/cssjit/SelectorCompiler.cpp
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/ViewTransition.h
    M Source/WebCore/dom/ViewTransitionTypeSet.cpp
    M Source/WebCore/dom/ViewTransitionTypeSet.h

  Log Message:
  -----------
  [view-transitions] Support parsing and checking :active-view-transition-type()
https://bugs.webkit.org/show_bug.cgi?id=277779
rdar://133610087

Reviewed by Tim Nguyen.

This patch adds support for parsing and checking the pseudo class
:active-view-transition-type(). This patch also modifies ViewTransitionTypeSet
to invalidate the stylesheet if a new type is added/removed. With this, support
for view transition types is completed, and is now enabled by default.

The WPT test changes are already upstreamed here:
https://github.com/web-platform-tests/wpt/commit/85b16fcfb299c9d6ff85dfe16beacda7fcb609d2

* LayoutTests/TestExpectations: Don't skip view transition type tests, now that they're passing.
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches-expected.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches-ref.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-matches.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-expected.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-mutation-expected.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-mutation.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved-ref.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/view-transition-types-reserved.html:
* LayoutTests/platform/glib/TestExpectations:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Enable ViewTransitionTypesEnabled by default
* Source/WebCore/css/CSSPseudoSelectors.json: added pseudo class :active-view-transition-type.
* Source/WebCore/css/CSSSelector.cpp:
(WebCore::appendPossiblyQuotedIdentifier): renamed from appendLangArgument.
(WebCore::appendCommaSeparatedPossiblyQuotedIdentifierList): renamed from appendLangArgumentList.
(WebCore::CSSSelector::selectorText const): added code to serialize :active-view-transition-type.
(WebCore::appendLangArgument): Deleted.
(WebCore::appendLangArgumentList): Deleted.
* Source/WebCore/css/CSSSelector.h:
* Source/WebCore/css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const): added code to check :active-view-transition-type.
* Source/WebCore/css/SelectorCheckerTestFunctions.h:
(WebCore::matchesActiveViewTransitionTypePseudoClass): added function to check :active-view-transition-type.
* Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::add):
* Source/WebCore/css/parser/CSSParserContext.h: added flag for parsing :active-view-transition-type.
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::consumeCommaSeparatedCustomIdentList): added function to parse a list of comma-separated custom idents (used by :active-view-transition-type)
(WebCore::CSSSelectorParser::consumePseudo): added code to parse :active-view-transition-type.
* Source/WebCore/css/parser/CSSSelectorParserContext.cpp:
(WebCore::CSSSelectorParserContext::CSSSelectorParserContext):
(WebCore::add):
* Source/WebCore/css/parser/CSSSelectorParserContext.h: added flag for parsing :active-view-transition-type.
* Source/WebCore/cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType): mark :active-view-transition-type as not JIT compilable.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setActiveViewTransition): when invalidating style, also invalidate :active-view-transition-type.
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/ViewTransition.h:
(WebCore::ViewTransition::setTypes): use WTFMove.
* Source/WebCore/dom/ViewTransitionTypeSet.cpp:
(WebCore::ViewTransitionTypeSet::clearFromSetLike): invalidate style on clearing.
(WebCore::ViewTransitionTypeSet::addToSetLike): invalidate style on adding new types.
(WebCore::ViewTransitionTypeSet::removeFromSetLike): invalidate style on deleting types.
(WebCore::ViewTransitionTypeSet::hasType const): renamed from has()
(WebCore::ViewTransitionTypeSet::has const): Deleted.
* Source/WebCore/dom/ViewTransitionTypeSet.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list