Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 44cfc58a80e6797fd128ce8bd4070a779c56980f
      
https://github.com/WebKit/WebKit/commit/44cfc58a80e6797fd128ce8bd4070a779c56980f
  Author: Kiet Ho <[email protected]>
  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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to