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.
<rdar://problem/127217265>
Pull request: https://github.com/WebKit/WebKit/pull/27859
Committed 278120@main (500fd5004df1): <https://commits.webkit.org/278120@main> Reviewed commits have been landed. Closing PR #27859 and removing active labels.