| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <div id="sandbox" style="display:none"><span></span></div> | 2 <div id="sandbox" style="display:none"><span></span></div> |
| 3 <script src="../../js/resources/js-test-pre.js"></script> | 3 <script src="../../js/resources/js-test-pre.js"></script> |
| 4 <script> | 4 <script> |
| 5 description("Test MutationEvents interfering with MutationObservers: adding node
s 'out of order'"); | 5 description("Test MutationEvents interfering with MutationObservers: adding node
s 'out of order'"); |
| 6 var sandbox = document.getElementById('sandbox'); | 6 var sandbox = document.getElementById('sandbox'); |
| 7 var inserted = false; | 7 var inserted = false; |
| 8 sandbox.addEventListener('DOMNodeRemoved', function() { | 8 sandbox.addEventListener('DOMNodeRemoved', function() { |
| 9 if (!inserted) { | 9 if (!inserted) { |
| 10 sandbox.appendChild(document.createElement('div')); | 10 sandbox.appendChild(document.createElement('div')); |
| 11 inserted = true; | 11 inserted = true; |
| 12 } | 12 } |
| 13 }); | 13 }); |
| 14 var observer = new WebKitMutationObserver(function(){}); | 14 var observer = new MutationObserver(function(){}); |
| 15 observer.observe(sandbox, {childList: true}); | 15 observer.observe(sandbox, {childList: true}); |
| 16 sandbox.textContent = 'hello world'; | 16 sandbox.textContent = 'hello world'; |
| 17 | 17 |
| 18 var mutations = observer.takeRecords(); | 18 var mutations = observer.takeRecords(); |
| 19 shouldBe("mutations.length", "3"); | 19 shouldBe("mutations.length", "3"); |
| 20 shouldBe("mutations[0].addedNodes.length", "0"); | 20 shouldBe("mutations[0].addedNodes.length", "0"); |
| 21 shouldBe("mutations[0].removedNodes.length", "1"); | 21 shouldBe("mutations[0].removedNodes.length", "1"); |
| 22 shouldBe("mutations[0].removedNodes[0].tagName", "'SPAN'"); | 22 shouldBe("mutations[0].removedNodes[0].tagName", "'SPAN'"); |
| 23 shouldBe("mutations[1].addedNodes.length", "1"); | 23 shouldBe("mutations[1].addedNodes.length", "1"); |
| 24 shouldBe("mutations[1].removedNodes.length", "0"); | 24 shouldBe("mutations[1].removedNodes.length", "0"); |
| 25 shouldBe("mutations[1].addedNodes[0].tagName", "'DIV'"); | 25 shouldBe("mutations[1].addedNodes[0].tagName", "'DIV'"); |
| 26 shouldBe("mutations[2].addedNodes.length", "1"); | 26 shouldBe("mutations[2].addedNodes.length", "1"); |
| 27 shouldBe("mutations[2].removedNodes.length", "0"); | 27 shouldBe("mutations[2].removedNodes.length", "0"); |
| 28 shouldBe("mutations[2].addedNodes[0].nodeValue", "'hello world'"); | 28 shouldBe("mutations[2].addedNodes[0].nodeValue", "'hello world'"); |
| 29 </script> | 29 </script> |
| 30 <script src="../../js/resources/js-test-post.js"></script> | 30 <script src="../../js/resources/js-test-post.js"></script> |
| OLD | NEW |