[whatwg] Fixing undo on the Web - UndoManager and Transaction

Hi all,

I've uploaded the draft: http://rniwa.com/editing/undomanager.html to
reflect the discussions so far.

Summary of changes:

   - Automatic transaction now calls unapply and reapply methods (note:
   this is problematic with apply(isReapply) because now authors have to check
   the argument even when reapply is not needed; consequently, I didn't change
   isReapply to return a DOMString since it'll have the same issue; we need
   more discussion here).
   - value IDL attributes of input and textarea elements are now considered
   to a part of DOM states.
   - Updated TransactionEvent section
      - initTransactionEvent is replaced by a constructor
      - TransactionEvent is renamed to DOMTransactionEvent
      - Added undo and redo events back
   - UndoManager's undo() and redo() have been rewritten
   - Precise algorithms to revert DOM changes have been added to section
   3.1.1.
      - Automatic DOM transaction (section 3.2) has been rewritten and
      re-defined in terms of reverting DOM changes.
      - Section 3.2.1.
      "Undoability and Redoability of automatic DOM transactions" has
been removed
      - The concept of "highest node affecting an automatic DOM
      transaction" has been abolished since undoability and redoabillity are
      now defined precisely.

- Ryosuke

Received on Tuesday, 29 November 2011 22:24:22 UTC