OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../../resources/js-test.js"></script> | 2 <script src="../../../resources/js-test.js"></script> |
3 <script> | 3 <script> |
4 description('Test that a script end tags invokes MutationObserver callbacks'); | 4 description('Test that an appended script does NOT invoke MutationObserver callb
acks'); |
5 | 5 |
6 var mutationsDelivered = false; | 6 var mutationsDelivered = false; |
7 function callback(mutations) { | 7 function callback(mutations) { |
8 mutationsDelivered = true; | 8 mutationsDelivered = true; |
9 } | 9 } |
10 | 10 |
11 var observer = new MutationObserver(callback); | 11 var observer = new MutationObserver(callback); |
12 var div = document.createElement('div'); | 12 var div = document.createElement('div'); |
13 observer.observe(div, {attributes: true}); | 13 observer.observe(div, {attributes: true}); |
14 div.setAttribute('foo', 'bar'); | 14 div.setAttribute('foo', 'bar'); |
15 shouldBeFalse('mutationsDelivered'); | 15 shouldBeFalse('mutationsDelivered'); |
16 document.write('<script><\/script>'); // performs a microtask checkpoint | 16 var scriptDidRun = false; |
17 shouldBeTrue('mutationsDelivered'); | 17 var script = document.createElement('script'); |
| 18 script.textContent = 'scriptDidRun = true'; |
| 19 shouldBeFalse('scriptDidRun'); |
| 20 document.head.appendChild(script); |
| 21 shouldBeTrue('scriptDidRun'); |
| 22 shouldBeFalse('mutationsDelivered'); |
18 </script> | 23 </script> |
OLD | NEW |