Closed Bug 1895633 Opened 9 months ago Closed 9 months ago

[wpt-sync] Sync PR 46158 - DOM: Implement <iframe> state-preserving atomic moves

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
128 Branch
Tracking Status
firefox128 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 46158 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/46158
Details from upstream follow.

Dominic Farolino <dom@chromium.org> wrote:

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
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/5314005
WPT-Export-Revision: 8fce4bcfc877d2b52443a471fa0392bb90eaeb58

Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 7 subtests

Status Summary

Firefox

OK : 1
FAIL: 7

Chrome

OK : 1
FAIL: 7

Safari

OK : 1
FAIL: 7

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /dom/nodes/moveBefore/tentative/iframe-document-preserve.window.html [wpt.fyi]
    • moveBefore(): about:blank iframe's document is preserved: FAIL (Chrome: FAIL, Safari: FAIL)
    • moveBefore(): simple same-origin document is preserved: FAIL (Chrome: FAIL, Safari: FAIL)
    • moveBefore(): cross-origin iframe is preserved: remove new parent: FAIL (Chrome: FAIL, Safari: FAIL)
    • moveBefore(): cross-origin iframe is preserved: remove self: FAIL (Chrome: FAIL, Safari: FAIL)
    • moveBefore(): cross-origin iframe is preserved: remove self via replaceChildren(): FAIL (Chrome: FAIL, Safari: FAIL)
    • moveBefore(): cross-origin iframe is preserved: remove self via innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • window.frames ordering does not change due to moveBefore(): FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/39a5a4f12bd1 [wpt PR 46158] - DOM: Implement <iframe> state-preserving atomic moves, a=testonly https://hg.mozilla.org/integration/autoland/rev/3f929286ad17 [wpt PR 46158] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 128 Branch
You need to log in before you can comment on or make changes to this bug.