This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
https://dom.spec.whatwg.org/#interface-childnode [[ The before(nodes) method must run these steps: If the context object does not have a parent, terminate these steps. Run the mutation method macro. Pre-insert node into the context object's parent before the context object. The after(nodes) method must run these steps: If the context object does not have a parent, terminate these steps. Run the mutation method macro. Pre-insert node into the context object's parent before the context object's next sibling. The replaceWith(nodes) method must run these steps: If the context object does not have a parent, terminate these steps. Run the mutation method macro. Replace the context object with node within the context object's parent. ]] These steps only refer to a single node, not the collection of nodes and/or DOMString values that can be passed to each method.
Josh, the mutation method macro takes care of that, no? Having said that, these methods need some fixes to their algorithms. In particular when passed the context object.
Oh, my mistake; I skimmed over step 2 every time while reading it.
See https://github.com/whatwg/dom/issues/32 for some work that is needed here.