After consideration: We may be able to nail down the exact sequence for _simple_
mutations (insert and remove), but I think we may have to declare compound
operations subject to variation from DOM to DOM, unless we're willing to specify
DOM implementation to a greater degree than in the past.
As a trivial example: replaceChild can be implemented as either "insert new kid
before old, then remove old", or "note old kid's position, remove old kid,
insert new". The former's more efficient in a linked-list implementation, the
latter's more efficient in an array-based implementation... so we probably don't
want to overspecify.
That does mean that folks can't count on one set of events occurring before the
other. I don't think that's a problem. But it might be a good idea to state it
explicitly, to discourage folks from relying on any given implementation's
behavior.
______________________________________
Joe Kesselman / IBM Research