Skip to content

Commit 9202ada

Browse files
noxannevk
authored andcommitted
Close #122: fix mutation record for a removing a node
A node's next sibling needs to be stored before removing the node from its parent.
1 parent fb45d52 commit 9202ada

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

dom.bs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1722,8 +1722,9 @@ steps:
17221722
<a>node document</a>, run the <a><code>NodeIterator</code> pre-removing steps</a> given
17231723
<var>node</var> and <var>iterator</var>.
17241724

1725-
<li>Let <var>oldPreviousSibling</var> be <var>node</var>'s
1726-
<a>previous sibling</a>
1725+
<li>Let <var>oldPreviousSibling</var> be <var>node</var>'s <a>previous sibling</a>.
1726+
1727+
<li>Let <var>oldNextSibling</var> be <var>node</var>'s <a>next sibling</a>.
17271728

17281729
<li>Remove <var>node</var> from its <var>parent</var>.
17291730

@@ -1742,7 +1743,7 @@ steps:
17421743
<li>If <i>suppress observers flag</i> is unset,
17431744
<a>queue a mutation record</a> of "<code>childList</code>" for
17441745
<var>parent</var> with removedNodes a list solely containing <var>node</var>,
1745-
nextSibling <var>node</var>'s <a>next sibling</a>, and previousSibling
1746+
nextSibling <var>oldNextSibling</var>, and previousSibling
17461747
<var>oldPreviousSibling</var>.
17471748
</ol>
17481749

dom.html

+4-3
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<div class="head">
7070
<p data-fill-with="logo"><a class="logo" href="https://whatwg.org/"> <img alt="WHATWG" height="100" src="https://resources.whatwg.org/logo-dom.svg"> </a> </p>
7171
<h1 class="p-name no-ref allcaps" id="title">DOM</h1>
72-
<h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Living Standard — Last Updated <time class="dt-updated" datetime="2015-11-25">25 November 2015</time></span></h2>
72+
<h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">Living Standard — Last Updated <time class="dt-updated" datetime="2015-11-27">27 November 2015</time></span></h2>
7373
<div data-fill-with="spec-metadata">
7474
<dl>
7575
<dt>Participate:
@@ -1020,13 +1020,14 @@ <h4 class="heading settled" data-level="4.2.1" id="mutation-algorithms"><span cl
10201020
<li>For each <a data-link-type="dfn" href="#concept-range">range</a> whose <a data-link-type="dfn" href="#concept-range-end-node">end node</a> is <var>parent</var> and <a data-link-type="dfn" href="#concept-range-end-offset">end offset</a> is greater than <var>index</var>, decrease its <a data-link-type="dfn" href="#concept-range-end-offset">end offset</a> by one.
10211021
<li>
10221022
<p>For each <code class="idl"><a data-link-type="idl" href="#nodeiterator">NodeIterator</a></code> object <var>iterator</var> whose <a data-link-type="dfn" href="#concept-traversal-root">root</a>’s <a data-link-type="dfn" href="#concept-node-document">node document</a> is <var>node</var>’s <a data-link-type="dfn" href="#concept-node-document">node document</a>, run the <a data-link-type="dfn" href="#nodeiterator-pre-removing-steps"><code>NodeIterator</code> pre-removing steps</a> given <var>node</var> and <var>iterator</var>. </p>
1023-
<li>Let <var>oldPreviousSibling</var> be <var>node</var>’s <a data-link-type="dfn" href="#concept-tree-previous-sibling">previous sibling</a>
1023+
<li>Let <var>oldPreviousSibling</var> be <var>node</var>’s <a data-link-type="dfn" href="#concept-tree-previous-sibling">previous sibling</a>.
1024+
<li>Let <var>oldNextSibling</var> be <var>node</var>’s <a data-link-type="dfn" href="#concept-tree-next-sibling">next sibling</a>.
10241025
<li>Remove <var>node</var> from its <var>parent</var>.
10251026
<li>Run the <a data-link-type="dfn" href="#concept-node-remove-ext">removing steps</a> with <var>node</var>, <var>parent</var>, and <var>oldPreviousSibling</var>.
10261027
<li>For each <a data-link-type="dfn" href="#concept-tree-inclusive-ancestor">inclusive ancestor</a> <var>ancestor</var> of <var>parent</var>, if <var>ancestor</var> has any <a data-link-type="dfn" href="#registered-observer">registered observers</a> whose <b>options</b>' <code class="idl"><a data-link-type="idl" href="#dom-mutationobserverinit-subtree">subtree</a></code> is true, then for each
10271028
such <a data-link-type="dfn" href="#registered-observer">registered observer</a> <var>registered</var>, append a <a data-link-type="dfn" href="#transient-registered-observer">transient registered observer</a> whose <b>observer</b> and <b>options</b> are identical to those of <var>registered</var> and <b>source</b> which is <var>registered</var> to <var>node</var>’s list of <a data-link-type="dfn" href="#registered-observer">registered observers</a>.
10281029
<li>If <i>suppress observers flag</i> is unset, <a data-link-type="dfn" href="#queue-a-mutation-record">queue a mutation record</a> of "<code>childList</code>" for <var>parent</var> with removedNodes a list solely containing <var>node</var>,
1029-
nextSibling <var>node</var>’s <a data-link-type="dfn" href="#concept-tree-next-sibling">next sibling</a>, and previousSibling <var>oldPreviousSibling</var>.
1030+
nextSibling <var>oldNextSibling</var>, and previousSibling <var>oldPreviousSibling</var>.
10301031
</ol>
10311032
<h4 class="heading settled" data-level="4.2.2" id="interface-nonelementparentnode"><span class="secno">4.2.2. </span><span class="content">Interface <code>NonElementParentNode</code></span><a class="self-link" href="#interface-nonelementparentnode"></a></h4>
10321033
<p class="note no-backref" role="note">The <code class="idl"><a data-link-type="idl" href="#dom-nonelementparentnode-getelementbyid">getElementById()</a></code> method is not

0 commit comments

Comments
 (0)