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 description('Test that WebKitMutationObserver.disconnect cancels pending deliver
y'); | 4 description('Test that WebKitMutationObserver.disconnect cancels pending deliver
y'); |
5 | 5 |
6 window.jsTestIsAsync = true; | 6 window.jsTestIsAsync = true; |
7 var mutations; | 7 var mutations; |
8 var observer; | 8 var observer; |
9 | 9 |
10 function start() { | 10 function start() { |
11 mutations = null; | 11 mutations = null; |
12 div = document.createElement('div'); | 12 div = document.createElement('div'); |
13 | 13 |
14 observer = new WebKitMutationObserver(function(m) { | 14 observer = new MutationObserver(function(m) { |
15 mutations = m; | 15 mutations = m; |
16 }); | 16 }); |
17 | 17 |
18 observer.observe(div, { attributes: true }); | 18 observer.observe(div, { attributes: true }); |
19 div.setAttribute('foo', 'bar'); | 19 div.setAttribute('foo', 'bar'); |
20 observer.disconnect(); | 20 observer.disconnect(); |
21 setTimeout(next, 0); | 21 setTimeout(next, 0); |
22 } | 22 } |
23 | 23 |
24 function next() { | 24 function next() { |
25 debug('Disconnecting should cancel any pending delivery...'); | 25 debug('Disconnecting should cancel any pending delivery...'); |
26 shouldBeNull('mutations'); | 26 shouldBeNull('mutations'); |
27 observer.observe(div, { attributes: true }); | 27 observer.observe(div, { attributes: true }); |
28 div.setAttribute('bar', 'baz'); | 28 div.setAttribute('bar', 'baz'); |
29 setTimeout(finish, 0); | 29 setTimeout(finish, 0); |
30 } | 30 } |
31 | 31 |
32 function finish() { | 32 function finish() { |
33 debug('...and re-observing should not see any of the previously-generated re
cords.'); | 33 debug('...and re-observing should not see any of the previously-generated re
cords.'); |
34 shouldBe('mutations.length', '1'); | 34 shouldBe('mutations.length', '1'); |
35 shouldBe('mutations[0].attributeName', '"bar"'); | 35 shouldBe('mutations[0].attributeName', '"bar"'); |
36 finishJSTest(); | 36 finishJSTest(); |
37 } | 37 } |
38 | 38 |
39 start(); | 39 start(); |
40 </script> | 40 </script> |
41 <script src="../../js/resources/js-test-post.js"></script> | 41 <script src="../../js/resources/js-test-post.js"></script> |
OLD | NEW |