github web-platform-tests/wpt merge_pr_46158

latest releases: merge_pr_49470, epochs/three_hourly/2024-12-03_06H, epochs/six_hourly/2024-12-03_06H...
9 months ago

DOM: Implement <iframe> state-preserving atomic moves

This CL implements iframe-specific logic for state-preserving atomic
moves, as well as some web platform tests and unit tests. We test
specifically that iframe documents are not reloaded during a call to
moveBefore(), and that the order of frames in window.frames remains
untouched. Much of the implementation revolves around how we manage
internal bookkeeping of subframe counts; this bookkeeping is used for
real world behavior in the node insertion/removal path 1, internal
optimizations 2, and Blink logic consistency assertions.

There is still implementation work general to all nodes
(non-iframe-specific) to be done for state-preserving atomic moves
overall, like suppressing mutation events, and tweaking how
MutationObserver reacts to moveBefore() calls. That work will be done
in follow-up CLs.

Bug: 40150299
Change-Id: If22ce5f96f8fbe98e126f2e8909aa852e5307bd6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5314005
Reviewed-by: Mason Freed masonf@chromium.org
Commit-Queue: Dominic Farolino dom@chromium.org
Cr-Commit-Position: refs/heads/main@{#1300121}

Don't miss a new wpt release

NewReleases is sending notifications on new releases.