-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[view-transitions] Implement matching for view transition classes #32332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[view-transitions] Implement matching for view transition classes #32332
Conversation
|
EWS run on previous version of this PR (hash 907f466) |
darinadler
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this extra data have measurable performance cost? I suppose we’ll find out from our benchmarks.
907f466 to
6b7922b
Compare
|
EWS run on previous version of this PR (hash 6b7922b) |
6b7922b to
03e724a
Compare
|
EWS run on previous version of this PR (hash 03e724a) |
03e724a to
5ed54ae
Compare
|
EWS run on previous version of this PR (hash 5ed54ae) |
I would not expect so, this extra data is only populated during a View Transition, and the class list is expected to be small. |
5ed54ae to
4d780ec
Compare
|
EWS run on previous version of this PR (hash 4d780ec) |
4d780ec to
4c9127e
Compare
|
EWS run on previous version of this PR (hash 4c9127e) |
4c9127e to
bcde8ce
Compare
|
EWS run on previous version of this PR (hash bcde8ce) |
interleave() in CSSSelector
|
EWS run on current version of this PR (hash 3f4800c) |
interleave() in CSSSelector3f4800c to
bcde8ce
Compare
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
bcde8ce to
28a8cb7
Compare
|
Committed 282383@main (28a8cb7): https://commits.webkit.org/282383@main Reviewed commits have been landed. Closing PR #32332 and removing active labels. |
🛠 watch-sim
28a8cb7
3f4800c
🛠 wpe🛠 wincairo🧪 wpe-wk2🧪 wincairo-tests🧪 ios-wk2🧪 api-wpe🧪 ios-wk2-wpt🧪 mac-wk1🛠 wpe-cairo🛠 🧪 jsc🧪 api-ios🧪 mac-wk2🛠 gtk🛠 🧪 jsc-arm64🛠 vision🧪 gtk-wk2🛠 vision-sim🧪 mac-wk2-stress🧪 api-gtk🛠 tv🛠 tv-sim🛠 watch🛠 watch-sim