| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../js/resources/js-test-pre.js"></script> | 2 <script src="../../js/resources/js-test-pre.js"></script> |
| 3 <script> | 3 <script> |
| 4 window.jsTestIsAsync = true; | 4 window.jsTestIsAsync = true; |
| 5 | 5 |
| 6 description('Test that MutationObservers are delivered to in order of creation.'
); | 6 description('Test that MutationObservers are delivered to in order of creation.'
); |
| 7 function finish() { | 7 function finish() { |
| 8 shouldBe('order.length', '10'); | 8 shouldBe('order.length', '10'); |
| 9 shouldBe('order[0]', '0'); | 9 shouldBe('order[0]', '0'); |
| 10 shouldBe('order[1]', '1'); | 10 shouldBe('order[1]', '1'); |
| 11 shouldBe('order[2]', '2'); | 11 shouldBe('order[2]', '2'); |
| 12 shouldBe('order[3]', '3'); | 12 shouldBe('order[3]', '3'); |
| 13 shouldBe('order[4]', '4'); | 13 shouldBe('order[4]', '4'); |
| 14 shouldBe('order[5]', '5'); | 14 shouldBe('order[5]', '5'); |
| 15 shouldBe('order[6]', '6'); | 15 shouldBe('order[6]', '6'); |
| 16 shouldBe('order[7]', '7'); | 16 shouldBe('order[7]', '7'); |
| 17 shouldBe('order[8]', '8'); | 17 shouldBe('order[8]', '8'); |
| 18 shouldBe('order[9]', '9'); | 18 shouldBe('order[9]', '9'); |
| 19 finishJSTest(); | 19 finishJSTest(); |
| 20 } | 20 } |
| 21 | 21 |
| 22 var order = []; | 22 var order = []; |
| 23 var observers = []; | 23 var observers = []; |
| 24 | 24 |
| 25 function setUpOrdering(num) { | 25 function setUpOrdering(num) { |
| 26 observers.push(new WebKitMutationObserver(function(mutations) { | 26 observers.push(new MutationObserver(function(mutations) { |
| 27 order.push(num); | 27 order.push(num); |
| 28 })); | 28 })); |
| 29 } | 29 } |
| 30 | 30 |
| 31 for (var i = 0; i < 10; ++i) { | 31 for (var i = 0; i < 10; ++i) { |
| 32 setUpOrdering(i); | 32 setUpOrdering(i); |
| 33 } | 33 } |
| 34 | 34 |
| 35 var div = document.createElement('div'); | 35 var div = document.createElement('div'); |
| 36 observers[3].observe(div, {attributes: true}); | 36 observers[3].observe(div, {attributes: true}); |
| 37 observers[2].observe(div, {characterData: true, subtree: true}); | 37 observers[2].observe(div, {characterData: true, subtree: true}); |
| 38 observers[1].observe(div, {attributes: true}); | 38 observers[1].observe(div, {attributes: true}); |
| 39 observers[7].observe(div, {childList: true}); | 39 observers[7].observe(div, {childList: true}); |
| 40 observers[4].observe(div, {attributes: true}); | 40 observers[4].observe(div, {attributes: true}); |
| 41 observers[9].observe(div, {attributes: true}); | 41 observers[9].observe(div, {attributes: true}); |
| 42 observers[0].observe(div, {childList: true}); | 42 observers[0].observe(div, {childList: true}); |
| 43 observers[5].observe(div, {attributes: true}); | 43 observers[5].observe(div, {attributes: true}); |
| 44 observers[6].observe(div, {characterData: true, subtree: true}); | 44 observers[6].observe(div, {characterData: true, subtree: true}); |
| 45 observers[8].observe(div, {attributes: true}); | 45 observers[8].observe(div, {attributes: true}); |
| 46 div.setAttribute('foo', 'bar'); | 46 div.setAttribute('foo', 'bar'); |
| 47 div.appendChild(document.createTextNode('hello')); | 47 div.appendChild(document.createTextNode('hello')); |
| 48 div.firstChild.textContent = 'goodbye'; | 48 div.firstChild.textContent = 'goodbye'; |
| 49 setTimeout(finish, 0); | 49 setTimeout(finish, 0); |
| 50 </script> | 50 </script> |
| 51 <script src="../../js/resources/js-test-post.js"></script> | 51 <script src="../../js/resources/js-test-post.js"></script> |
| OLD | NEW |