Should we be able to revert the following transaction? <!DOCTYPE html> <html> <body> <div id="a">Hello</div> <script> var a = document.getElementById("a"); document.undoManager.transact({ "executeAutomatic": function () { var b = document.createElement("div"); b.appendChild(a); } }); document.undoManager.undo(); </script> <body> </html> Note that there are two DOM changes occurring inside the executeAutomatic function: 1. "a" is removed from its parent. 2. "a" is added as a child of "b". Only the first DOM change is recorded. The second DOM change is not recorded because "b" is not a descendant of the undo scope host, which is the document in this case. Therefore, only the first DOM change will be reverted. However, according to the spec (http://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html#reverting-dom-changes), we can't revert it because a's parent is not null. Thus, "a" will not be added back to the document.Received on Wednesday, 8 August 2012 22:22:00 GMT
This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:54 GMT