Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/domPublic

IntroducemoveBefore() state-preserving atomic move API#1307

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
annevk merged 61 commits intomainfromstate-preserving-atomic-move
Mar 7, 2025

Conversation

domfarolino
Copy link
Member

@domfarolinodomfarolino commentedAug 26, 2024
edited by pr-previewbot
Loading

This PR introduces a new DOM API on theParentNode mixin:moveBefore(). It mirrorsinsertBefore() in shape, but defers to a new DOM manipulation primitive that this PR adds in service of this new API: the "move" primitive. The move primitive contains some of the DOM tree bookkeeping steps from the remove primitive, as well as the insert primitive, and does three more interesting things:

  1. Calls themoving steps hook with the moved node and the old parent (possibly null, just like the removing steps)
  2. Queues a custom element callback reaction for theconnectedMoveCallback()
  3. Queues two back-to-back mutation record tasks: one for removal from the old parent; one for insertion into the new one

The power of the move primitive comes from the fact that the algorithm does not defer to the traditional insert and removal primitives, and therefore does not invoke theremoving steps andinsertion steps. This allows most state to be preserved by default (i.e., we don't tear down iframes, or close dialogs). Sometimes, the insertion/removing step overrides in other specifications have steps that do need to be performed during a move anyways. These specifications are expected to override the moving steps hook and perform the necessary work accordingly. Seewhatwg/html#10657 for HTML.

Closes#1255.Closes#1335.

Remaining tasks (some will be PRs in other standards):

  • Custom element integration
  • Keep popovers open
  • Don't call post-connection steps if state-preserving atomic move is in progress
  • Don't call becomes connected / becomes browsing-context
  • Only disconnect subframes on removal when state-preserving atomic move isnot in progress
  • Keep dialogs open: seeremoving steps
  • img/source: this shouldn't count as arelevant mutation
  • Preserve fullscreen
  • Preserve focus
    • Need to resolvefocusin event semantics
  • ~[ ] Don't reset animations / transitions. Seehere
    • Maybe nothing needs to be done here. Givenhow element removals are handled, the spec does NOT require transitions to be removed from the UA's set ofrunning transitions for moved nodes since they are never removed from the Document.~
  • [ ] Preserve text-selection. Seeset the selection range. Edit: Nothing needs to be done here. Selection metadata (i.e.,selectionStart and kin) is preserved by default in browsers, consistent with HTML (no action is taken on removal). The UI behavior of the selection not being highlighted is a side-effect of the element losing focus
  • Selection API: don't reset the Document'sselection
    • Updates to the selection range should happen according to how the DOM Standard primitives update ranges. The Selection API specification admits as much, bydeferring to the insert and removal algorithms. Therefore, we should reference the move primitive from the Selection API specification, and ensure that the move primitive inthis DOM Standard PR updates live ranges correctly:Reference the move primitive in DOM mutations section w3c/selection-api#341
    • selectionchange event: We've decided to allowselectionchange event to still fire,since it is queued in a task. No changes for this part are required.
  • Pointer event state reset: seehere
  • Hide input/select picker:here
  • Preserve pointer lock:here
  • Containment: keep last remembered size(seehere)

(SeeWHATWG Working Mode: Changes for more details.)


Preview |Diff

ken7253, Ocean-OS, djahandarie, rizwanzaheer, flipeador, TechQuery, oliviertassinari, kimihito, infogulch, and daqichen reacted with thumbs up emoji
@domfarolinodomfarolino changed the titleIntroduce \moveBefore()\ state-preserving atomic move APIIntroducemoveBefore() state-preserving atomic move APIAug 26, 2024
@domfarolinodomfarolino added the impacts documentationUsed by documentation communities, such as MDN, to track changes that impact documentation labelAug 26, 2024
Copy link
Member

@annevkannevk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I think the mutation record needs some more design work. I would expect it to capture the information of a remove and an insert at the same time. Perhaps it needs to be a new object, though we could further overload the existingMutationRecord as well I guess. At least I think you need:

  • old target
  • target
  • moved node (I'm not sure you can ever move multiple at this point, but maybe we should allow for it in the mutation record design?)
  • old previous sibling
  • old next sibling
  • previous sibling
  • next sibling

Would be good to know what@smaug---- thinks and maybe@ajklein even wants to chime in.

@annevkannevk added topic: nodes addition/proposalNew features or enhancements labelsAug 27, 2024
@smaug----
Copy link
Collaborator

  • old target

  • target

  • moved node (I'm not sure you can ever move multiple at this point, but maybe we should allow for it in the mutation record design?)

Shouldn't the target node be all the time the same, it is just the siblings which change.
So we'd need only oldPreviousSibling and oldNextSibling. Oh, hmm, this isn't only about moving children but moving anything.

If this is really just remove and add back elsewhere, we could just reuse the existing childList MutationRecords, one for remove, one for adding node back, and possibly just add a flag to MutationRecord that it was about move.

(movedNodes is a bit confusing, since it seems to depend on the connectedness of the relevant nodes and it is apparently empty for the removal part. And it is unclear to me why we need the connectedness check. This is about basic DOM tree operations, and I'd assume those to work the same way whether or not the node is connected)

@annevk
Copy link
Member

Creating two separate mutation records that a consumer would have to merge to (fully) understand it's a move seems suboptimal?

I agree that it should probably work for disconnected nodes as well, but I don't think we want to support a case where the shadow-including root changes.

@ajklein
Copy link

It's been a long time since I've thought about this stuff, but I'm inclined to agree with@smaug---- that creating a new type ofMutationRecord feels unnecessary. Users ofMutationObserver already have to do coalescing if they want to make sense of the stream of changes they observe. There are already other move-like operations, such as appending a child that's already somewhere else in the tree, which today generates two records.

sorvell reacted with thumbs up emoji

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestOct 16, 2024
This CL makes moveBefore() match the spec PR [1], with regard to theagreed-upon error-throwing behavior for all pre-moving validity andhierarchy conditions. This means throwing an exception for: - Disconnected parent destination or move target - Cross-document Nodes - Destination parent that is not an Element node - Move target that is not an Element or character data[1]:whatwg/dom#1307R=nrosenthal@chromium.orgBug: 40150299Change-Id: Iaf5243fb2762e21ede068a222600bd158859fe92
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestOct 16, 2024
This CL makes moveBefore() match the spec PR [1], with regard to theagreed-upon error-throwing behavior for all pre-moving validity andhierarchy conditions. This means throwing an exception for: - Disconnected parent destination or move target - Cross-document Nodes - Destination parent that is not an Element node - Move target that is not an Element or character data[1]:whatwg/dom#1307R=nrosenthal@chromium.orgBug: 40150299Change-Id: Iaf5243fb2762e21ede068a222600bd158859fe92Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/5935350Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Commit-Queue: Dominic Farolino <dom@chromium.org>Cr-Commit-Position: refs/heads/main@{#1369303}
KyleJu pushed a commit to web-platform-tests/wpt that referenced this pull requestOct 21, 2024
This CL makes moveBefore() match the spec PR [1], with regard to theagreed-upon error-throwing behavior for all pre-moving validity andhierarchy conditions. This means throwing an exception for: - Disconnected parent destination or move target - Cross-document Nodes - Destination parent that is not an Element node - Move target that is not an Element or character data[1]:whatwg/dom#1307R=nrosenthal@chromium.orgBug: 40150299Change-Id: Iaf5243fb2762e21ede068a222600bd158859fe92Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/5935350Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Commit-Queue: Dominic Farolino <dom@chromium.org>Cr-Commit-Position: refs/heads/main@{#1369303}Co-authored-by: Dominic Farolino <dom@chromium.org>
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull requestOct 23, 2024
…-move validity checks, a=testonlyAutomatic update from web-platform-testsDOM: Make moveBefore() throw for all pre-move validity checks (#48642)This CL makes moveBefore() match the spec PR [1], with regard to theagreed-upon error-throwing behavior for all pre-moving validity andhierarchy conditions. This means throwing an exception for: - Disconnected parent destination or move target - Cross-document Nodes - Destination parent that is not an Element node - Move target that is not an Element or character data[1]:whatwg/dom#1307R=nrosenthal@chromium.orgBug: 40150299Change-Id: Iaf5243fb2762e21ede068a222600bd158859fe92Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/5935350Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Commit-Queue: Dominic Farolino <dom@chromium.org>Cr-Commit-Position: refs/heads/main@{#1369303}Co-authored-by: Dominic Farolino <dom@chromium.org>--wpt-commits: 06b6ff6579327f235fff80b0f8bae8b0bbbc1069wpt-pr: 48642
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this pull requestOct 24, 2024
…-move validity checks, a=testonlyAutomatic update from web-platform-testsDOM: Make moveBefore() throw for all pre-move validity checks (#48642)This CL makes moveBefore() match the spec PR [1], with regard to theagreed-upon error-throwing behavior for all pre-moving validity andhierarchy conditions. This means throwing an exception for: - Disconnected parent destination or move target - Cross-document Nodes - Destination parent that is not an Element node - Move target that is not an Element or character data[1]:whatwg/dom#1307R=nrosenthal@chromium.orgBug: 40150299Change-Id: Iaf5243fb2762e21ede068a222600bd158859fe92Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/5935350Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Commit-Queue: Dominic Farolino <dom@chromium.org>Cr-Commit-Position: refs/heads/main@{#1369303}Co-authored-by: Dominic Farolino <dom@chromium.org>--wpt-commits: 06b6ff6579327f235fff80b0f8bae8b0bbbc1069wpt-pr: 48642
domfarolino added a commit to domfarolino/selection-api that referenced this pull requestOct 30, 2024
@domfarolinodomfarolino marked this pull request as ready for reviewNovember 7, 2024 16:33
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestNov 11, 2024
This CL enables moveBefore() inside connected ShadowRootDocumentFragments, as the general only-Element-node target parentpre-condition was too strict, and disabled this case, despite it beinga pretty valid one.This was discussed inwhatwg/dom#1307 (comment).R=nrosenthal@chromium.orgBug: 40150299Change-Id: Ie9c6e31400b75b2b5d10d095c059012056a440da
aarongable pushed a commit to chromium/chromium that referenced this pull requestNov 11, 2024
This CL enables moveBefore() inside connected ShadowRootDocumentFragments, as the general only-Element-node target parentpre-condition was too strict, and disabled this case, despite it beinga pretty valid one.This was discussed inwhatwg/dom#1307 (comment).R=nrosenthal@chromium.orgBug: 40150299Change-Id: Ie9c6e31400b75b2b5d10d095c059012056a440daReviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6012161Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1381208}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestNov 11, 2024
This CL enables moveBefore() inside connected ShadowRootDocumentFragments, as the general only-Element-node target parentpre-condition was too strict, and disabled this case, despite it beinga pretty valid one.This was discussed inwhatwg/dom#1307 (comment).R=nrosenthal@chromium.orgBug: 40150299Change-Id: Ie9c6e31400b75b2b5d10d095c059012056a440daReviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6012161Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1381208}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestNov 11, 2024
This CL enables moveBefore() inside connected ShadowRootDocumentFragments, as the general only-Element-node target parentpre-condition was too strict, and disabled this case, despite it beinga pretty valid one.This was discussed inwhatwg/dom#1307 (comment).R=nrosenthal@chromium.orgBug: 40150299Change-Id: Ie9c6e31400b75b2b5d10d095c059012056a440daReviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6012161Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1381208}
@domfarolinodomfarolinoforce-pushed thestate-preserving-atomic-move branch from43ba844 to9270da7CompareFebruary 25, 2025 17:11
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestFeb 25, 2025
This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3
aarongable pushed a commit to chromium/chromium that referenced this pull requestFeb 25, 2025
This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestFeb 25, 2025
This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull requestFeb 25, 2025
This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}
Copy link
Member

@annevkannevk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@smaug---- can you double check as well? Is Monday a reasonable merge day? I feel like everyone else already got sufficient time in the last couple of rounds.

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull requestFeb 28, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this pull requestFeb 28, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull requestMar 1, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <domchromium.org>Reviewed-by: Noam Rosenthal <nrosenthalchromium.org>Cr-Commit-Position: refs/heads/main{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945UltraBlame original commit: 4a6a1072a3e50a2172f5d712305e8a77f170e452
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull requestMar 1, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <domchromium.org>Reviewed-by: Noam Rosenthal <nrosenthalchromium.org>Cr-Commit-Position: refs/heads/main{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945UltraBlame original commit: 4a6a1072a3e50a2172f5d712305e8a77f170e452
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull requestMar 1, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <domchromium.org>Reviewed-by: Noam Rosenthal <nrosenthalchromium.org>Cr-Commit-Position: refs/heads/main{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945UltraBlame original commit: 4a6a1072a3e50a2172f5d712305e8a77f170e452
jamienicol pushed a commit to jamienicol/gecko that referenced this pull requestMar 5, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945
@smaug----
Copy link
Collaborator

I think this is fine.

https://issues.chromium.org/issues/400758510 is interesting. That was filed immediately when someone tried to use the API. That is more for the HTML part of the feature though. But I think opt-in behavior of the new callback is reasonable (though the callback should likely get old parent as a param, but that can be a followup)

@whatwgwhatwg deleted a comment frompeasantman1Mar 7, 2025
@annevkannevk merged commiteaf2ac7 intomainMar 7, 2025
2 checks passed
@annevkannevk deleted the state-preserving-atomic-move branchMarch 7, 2025 14:20
annevk pushed a commit to whatwg/html that referenced this pull requestMar 7, 2025
This complementswhatwg/dom#1307. It integrates "moving steps", which allow HTML elements to react to atomic node moves without the use of the "insertion steps" or "removing steps". Those intentionally fail to preserve most state and are therefore not always suitable for a node "move". The changes in this PR are inspired by the audit carried out inhttps://docs.google.com/document/d/1qfYyvdK4zhzloABKeh0K1lHPm-SpnEcsWEE9UdDuoMk/edit.
lozy219 pushed a commit to lozy219/html that referenced this pull requestMar 10, 2025
This complementswhatwg/dom#1307. It integrates "moving steps", which allow HTML elements to react to atomic node moves without the use of the "insertion steps" or "removing steps". Those intentionally fail to preserve most state and are therefore not always suitable for a node "move". The changes in this PR are inspired by the audit carried out inhttps://docs.google.com/document/d/1qfYyvdK4zhzloABKeh0K1lHPm-SpnEcsWEE9UdDuoMk/edit.
glandium pushed a commit to mozilla-firefox/firefox that referenced this pull requestApr 1, 2025
…), a=testonlyAutomatic update from web-platform-testsDOM: Add slotchange test for moveBefore()This CL adds a test to ensure that the 'slotchange' event is fired whenslots themselves are moved in and out of a custom element, and theirassigned nodes change.This addresseswhatwg/dom#1307 (comment).R=nrosenthalBug: 40150299Change-Id: I93ee04294e5ab3e6d9f75c48705cdc77ce0a1df3Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/6298941Commit-Queue: Dominic Farolino <dom@chromium.org>Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>Cr-Commit-Position: refs/heads/main@{#1424746}--wpt-commits: cd2cfbab2d2157b1c409be1631ff7e42c3ae7f6fwpt-pr: 50945
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@noamrnoamrnoamr left review comments

@tjallingttjallingttjallingt left review comments

@annevkannevkannevk approved these changes

@smaug----smaug----smaug---- approved these changes

Assignees
No one assigned
Labels
addition/proposalNew features or enhancementsimpacts documentationUsed by documentation communities, such as MDN, to track changes that impact documentationstage: 3Committedtopic: nodes
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

moveBefore() cosmetic concerns Atomic move operation for element reparenting & reordering
9 participants
@domfarolino@smaug----@annevk@ajklein@sorvell@WebReflection@tjallingt@noamr@dead-claudia

[8]ページ先頭

©2009-2025 Movatter.jp