[webkit-changes] [WebKit/WebKit] 28a8cb: [view-transitions] Implement matching for view tra...

Tim Nguyen noreply at github.com
Fri Aug 16 19:22:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 28a8cb798f0cf5d11677902f6f8f87820f6bb286
      https://github.com/WebKit/WebKit/commit/28a8cb798f0cf5d11677902f6f8f87820f6bb286
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/css/CSSSelector.cpp
    M Source/WebCore/css/CSSSelector.h
    M Source/WebCore/css/SelectorChecker.cpp
    M Source/WebCore/css/SelectorChecker.h
    M Source/WebCore/dom/ViewTransition.cpp
    M Source/WebCore/dom/ViewTransition.h
    M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp
    M Source/WebCore/style/ElementRuleCollector.cpp

  Log Message:
  -----------
  [view-transitions] Implement matching for view transition classes
https://bugs.webkit.org/show_bug.cgi?id=278223
rdar://134020027

Reviewed by Darin Adler.

Implements matching as described in:
https://drafts.csswg.org/css-view-transitions-2/#shared-style-with-vt-classes

* LayoutTests/TestExpectations:

Unskip all tests.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:

Enable by default, since all WPT pass.

* Source/WebCore/css/CSSSelector.cpp:
(WebCore::operator<<):
* Source/WebCore/css/CSSSelector.h:

Add PossiblyQuotedIdentifier TextStream for easy debugging.

* Source/WebCore/css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
* Source/WebCore/css/SelectorChecker.h:

All classes in need to match in order for the styles to apply.

* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::effectiveViewTransitionClassList):
(WebCore::ViewTransition::captureOldState):
(WebCore::ViewTransition::captureNewState):

Captures the classList as described in https://drafts.csswg.org/css-view-transitions-2/#vt-class-algorithms

* Source/WebCore/dom/ViewTransition.h: Add classList to CapturedElement.

* Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:
(WebCore::pseudoStyleCacheIsInvalid):

Fix a bug in the cache where were passing a null name argument string.

* Source/WebCore/style/ElementRuleCollector.cpp:
(WebCore::Style::classListForNamedViewTransitionPseudoElement):
(WebCore::Style::ElementRuleCollector::ruleMatches):

Pass the classList to the SelectorChecker when checking the selector.

Canonical link: https://commits.webkit.org/282383@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