Re: [whatwg/dom] Introduce `moveBefore()` state-preserving atomic move API (PR #1307)

@domfarolino pushed 60 commits.

5920e1cc0dbc0bb50d1f3a47993d3b05e79d4b1a  Initial atomic move skeleton
442ef6dfd577806f89f16612473e5f30357d96ef  Most of the `MutationObserver` integration
1c8f74f653cf5002a570d5ea08723d4af677cf5d  Remove mutation events flag references
bc1a4665916f8293a42b94fb392e9f3a2bf55bd4  Populate the `MutationRecord`
4030e9abd907e4b26b69c26a90c3f3df8795d9c5  Fix punctuation
8d41e6a968801b21fbe648f0eabfe66c7eb6fc21  Remove trailing whitespace
588e62d360a26763606fa8aac813d5d27832bb22  `<span>` -> `<a>` plus fix punctuation error
2b8cf634fa44315534807fe87a360af330559586  Camel case
7b742c7a24b9a3e2ff46839d0d049957de6d4f98  Throw an exception on failure
7039d3b34d0a2c33e8a3970912b2254eb56483b3  Introduce move primitive + moving steps hook/extension
b17f357fe121466dfe8e9f456fe243a3f31a57ab  Remove changes to insertion primitive
ef2f986e1d40fb4c39ebc20759c19887d366c5d2  Revert document flag and mutation record changes
0a813821033b0d72ae370a7e3e31787e471fab86  Fix mutation record callsites
7fda2661f37abd554c8c580c5a857b1925fcd7a5  Fix wrapping
11010731a7eb0ce9f1f1d36faab65f6ae63de1f4  Remove suppress observers flag
b43c8fc0e62963badde58fc5ce50c8fa1f66a2fd  Custom element integration
ba0638d138fb02a9f77799de1c5d420e2c3378e5  Update live ranges and NodeIterators properly; do not call the remove primitive
53c9142c9dfba2cb72535c3123c5a7ada30ddec3  Correct removal bookkeeping
25d501eab420b2e321a5222ccb966910ff6c916c  Moving steps prose
a94082745677b0e193b98852106f9facaa616a23  Tighten up pre-move checks
8ded562056c849b7142c5906e468211e3f0a402e  Assert -> throw condition
dbbde9e28713a45617a32e494bac88de8624d125  Move conditions into pre-move validity
e28936a190a6e89d8225d3f89d8cbd4ffe8a2fde  Fix `<old>`
60076c92166c22517b8afd01deee74623686ec21  Ordering and format
b8ac7bda224e9f00595fa75e9368324140523c72  Fix live range updating logic
ff5f3dd200a7e5c9ed68ae40b5fc7c45be7eccbe  Document `move` primitive in Range note
707f3f62b9d646f29e15d4695142cff135c9f593  Enable moves in a connected `ShadowRoot` `DocumentFragment` node
863f481ddd88768c055441e60f79cb0cd825d5d4  Do not explicitly rethrow
c8822cdd45461e6b987199c168e8031458b34fb4  Do not do special range handling
f2ad3dfceabea07ad220c9c0783b0bfc1179cc0f  Support both connected->connected and disconnected->disconnected
6fe0a6e86b56e7c4b1d742de0cccd046fc9078e2  Whitespace and formatting
e2e756698cd675280fd755a58c8aae1ebd367905  Factor our live range pre-removal steps
2a623d53b02bd4bdd0fbead008e15196171225df  newParent, newPreviousSibling, and count
a820a746037d2e009cf78869b9277a22b4badce4  Only queue connectedMoveCallback if connected
f23c4982e6eba4788a969af586382b690091d347  Revert random editorial change
21d0da39805c668635df4b00ed7395d7963009ab  Remove newline
12259fb23293d5a356ea8509d837285bc898ae58  Remove manual custom element upgrade
16178bbe09bbe79182d932057bfdbd57171f826e  Compare node documents instead of shadow-including roots
cb0c91cf2f0172eeb965d7623de34f45db1c4321  Align pre-move and pre-insertion conditions
ca88e231a79016cda4a3639356d45d3136e80bbf  Add document-is-parent pre-move conditions
358cc4301ecddcd831da8fd1ea3eccbaaa135ab2  Remove unnecessary checks now that we have root checks
90d4f4514aaa60c303266bce3b603ed3511666ca  Live range rename
2eb22d325d5b34b3a9f4e0d14b2361bcffb6e112  Empty arguments
641d6a6b90fdd2dc5994dbae1cfe166962126a94  Update dom.bs
26bd858b5657a51d51eab1bdd51960f7cc1641a7  Update dom.bs
5fb8d3a0c1ab99de3a4bffec5e1bb6bb72e17f85  Remove run these steps
71736d943e9b574d8d9561527e4a54d2426c724c  Move to ParentNode, simplify pre-move conditions, add web developer box
f321247ed26b1a341caadd0a19e0c8f249432857  nits
53ce47259eb8b10080edb32abb65d5c8185ed354  nit
4822fd76ea52d1eee9530b8a5687c73659b6df92  actually, pre-removing here is better
1d49fc5a1b888c08f021e57ea74dd1a309efb02c  Make moveBefore() return undefined
937f22e58adb6ef182a3def061e11aa1a1e9c474  Fold more into the move algorithm
1e183c66354ddf0d0679c65f0fb7ae9f2cf39edc  Document for reference, and this->newParent
5ae3cde315885bac6cd89a4bd787e40ce3caf847  Update moving steps link to be consistent with other extension hooks, and to what HTML expects
a454656ebda8e34b98bb22b76bc2cee21f75a843  Fire slotchange events on the removal and insertion during moveBefore
71a3c385e063f77afb3f137b465299b6ece03d53  Remove incorrect `data-x` and `span`
53409b962ff05f88b51a9c3a6c9dcea1b6a76f25  Wrapping
1f60b93df5f3ac5d18cac365367d30c71be9d6f9  Add missing slot assignment steps
01b7634d90251907a4cc7abb6501afedce1879a2  Add missing li, even though it is missing from the place where I copied this step
9270da79b76b484fed37728d55b22a108065f761  Fix open paragraph after amend

-- 
View it on GitHub:
https://github.com/whatwg/dom/pull/1307/files/43ba844760820f930fb0624919b92b56c048a868..9270da79b76b484fed37728d55b22a108065f761
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/dom/pull/1307/before/43ba844760820f930fb0624919b92b56c048a868/after/9270>

Received on Tuesday, 25 February 2025 17:12:30 UTC