Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/mutation-during-replace-child.html

Issue 2889523002: MutationObserver: Correct MutationRecords for Node.replaceChild(). (Closed)
Patch Set: Add step comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/js-test.js"></script> 4 <script src="../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <div> 7 <div>
8 <div id="target"> 8 <div id="target">
9 <b></b><b id="oldChild"></b><b></b> 9 <b></b><b id="oldChild"></b><b></b>
10 </div> 10 </div>
11 <div id="newChild"></div> 11 <div id="newChild"></div>
12 </div> 12 </div>
13 13
14 <script> 14 <script>
15 description("Ensures that replaceChild() throws an exception if mutation even ha ndler does something wrong"); 15 description("Ensures that replaceChild() throws an exception if mutation even ha ndler does something wrong");
16 var target = document.getElementById('target'); 16 var target = document.getElementById('target');
17 var oldChild = document.getElementById('oldChild'); 17 var oldChild = document.getElementById('oldChild');
18 var newChild = document.getElementById('newChild'); 18 var newChild = document.getElementById('newChild');
19 19
20 function handler(){ 20 function handler(){
21 document.removeEventListener("DOMNodeRemoved", handler, false); 21 document.removeEventListener("DOMNodeRemoved", handler, false);
22 newChild.parentNode.removeChild(newChild); 22 newChild.parentNode.removeChild(newChild);
23 target.parentNode.removeChild(target); 23 target.parentNode.removeChild(target);
24 newChild.appendChild(target); 24 newChild.appendChild(target);
25 } 25 }
26 document.addEventListener("DOMNodeRemoved", handler, false); 26 document.addEventListener("DOMNodeRemoved", handler, false);
27 shouldThrow("target.replaceChild(newChild, oldChild);", '"HierarchyRequestError: Failed to execute \'replaceChild\' on \'Node\': The new child element contains the parent."'); 27 shouldThrow("target.replaceChild(newChild, oldChild);", '"NotFoundError: Failed to execute \'replaceChild\' on \'Node\': The node to be removed is no longer a c hild of this node. Perhaps it was moved in response to a mutation?"');
28 </script> 28 </script>
29 </body> 29 </body>
30 </html> 30 </html>
31 31
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698