[whatwg] Feedback on UndoManager spec

On Mon, Nov 7, 2011 at 8:27 PM, Jonas Sicking <jonas at sicking.cc> wrote:

> What we should do is to define exactly how the tracking works, and
> what exact operations the browser does to revert a automatic
> transaction.
>

Yeah, it'll be ideal if we could specify that.

For example, if we say that for each node removed when a automatic
> transaction is created, the browser records that nodes old parent and
> previous sibling. Then we can say that when the automatic transaction
> is undone, the browser checks that the old previous sibling is still a
> child of the parent (unless the previous sibling was null), if the
> test passes, the browser inserts the removed node after the previous
> sibling in the parent.
>
> We could also remember both the following and previous sibling in
> order to be more resilient against unrecorded mutations.
>

It'll be nice if we could specify that precisely. From what Anne told me
today, all DOM operations are defined in terms of
http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node-insertand
http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node-removeso
we can probably define what should happen when unapplying/reapplying
either one.

- Ryosuke

Received on Monday, 7 November 2011 20:54:54 UTC