| 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 |