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