Skip to content

Commit

Permalink
[view-transitions] css/css-view-transitions/content-with-clip.html fa…
Browse files Browse the repository at this point in the history
…ils due to duplicate pseudo renderers.

https://bugs.webkit.org/show_bug.cgi?id=273388
<rdar://127217265>

Reviewed by Tim Nguyen.

The root element is included in the old state, but not the new, and is the first
name in the namedElements map.

Each frame during updatePseudoElementTree, `buildPseudoElementGroup` is called
for the root, and nothing is created (as expected)..

currentGroup then gets moved to the previous sibling, which is nullptr, and then
is in a broken state for further iterations.

All other iterated names then create new renderers, without removing the
existing ones.

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/updating/RenderTreeUpdaterViewTransition.cpp:
(WebCore::RenderTreeUpdater::ViewTransition::updatePseudoElementTree):

Canonical link: https://commits.webkit.org/278120@main
  • Loading branch information
mattwoodrow committed Apr 29, 2024
1 parent 40c0546 commit 500fd50
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 6 deletions.
1 change: 0 additions & 1 deletion LayoutTests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -6974,7 +6974,6 @@ imported/w3c/web-platform-tests/css/css-view-transitions/snapshot-containing-blo
imported/w3c/web-platform-tests/css/css-view-transitions/fractional-translation-from-position.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-view-transitions/scroller-child.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-view-transitions/scroller.html [ ImageOnlyFailure ]
imported/w3c/web-platform-tests/css/css-view-transitions/content-with-clip.html [ ImageOnlyFailure ]

# Timeouts
imported/w3c/web-platform-tests/css/css-view-transitions/iframe-transition.sub.html [ Skip ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,9 @@ void RenderTreeUpdater::ViewTransition::updatePseudoElementTree(RenderElement& d
descendantsToDelete.append(currentGroup);
else
updatePseudoElementGroup(*style, downcast<RenderElement>(*currentGroup), documentElementRenderer);
} else {
currentGroup = currentGroup->nextSibling();
} else
buildPseudoElementGroup(name, documentElementRenderer, currentGroup);
currentGroup = currentGroup ? currentGroup->previousSibling() : nullptr;
}

currentGroup = currentGroup ? currentGroup->nextSibling() : nullptr;
}

for (auto& descendant : descendantsToDelete) {
Expand Down

0 comments on commit 500fd50

Please sign in to comment.