Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 00b3f2deceaf36504b07ac3013698277d57dbd63
https://github.com/WebKit/WebKit/commit/00b3f2deceaf36504b07ac3013698277d57dbd63
Author: Matt Woodrow <[email protected]>
Date: 2025-04-18 (Fri, 18 Apr 2025)
Changed paths:
M Source/WebCore/dom/ViewTransition.cpp
M Source/WebCore/dom/ViewTransition.h
Log Message:
-----------
Crash in WebCore::forEachRendererInPaintOrder;
WebCore::ViewTransition::captureNewState.
https://bugs.webkit.org/show_bug.cgi?id=286109
<rdar://142779342>
Reviewed by Tim Nguyen.
captureNewState was writing new styles while iterating the render layer tree,
and also implicitly flushing styles by reading computed values. In rare cases
the style flush could invalidate the render layer positioned list.
This change splits this into two separate passes. The first pass reads all the
computed styles from the captured elements, and then second pass generates all
the stylesheet changes. Finally we flush style, and configure the VT psuedo
renderers as needed.
* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::ViewTransition::updatePropertiesForGroupPseudo):
(WebCore::ViewTransition::captureNewState):
(WebCore::ViewTransition::setupTransitionPseudoElements):
(WebCore::ViewTransition::activateViewTransition):
(WebCore::ViewTransition::handleTransitionFrame):
(WebCore::ViewTransition::updateNewState):
(WebCore::ViewTransition::updatePseudoElementStyles):
(WebCore::ViewTransition::updatePseudoElementRenderers):
(WebCore::ViewTransition::updatePropertiesForRenderer): Deleted.
(WebCore::ViewTransition::updatePseudoElementSizes): Deleted.
* Source/WebCore/dom/ViewTransition.h:
Originally-landed-as: 283286.634@safari-7620-branch (9ea70df86dfe).
rdar://148060776
Canonical link: https://commits.webkit.org/293851@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