| <script src="../../../resources/js-test-pre.js"></script> |
| <script> |
| window.jsTestIsAsync = true; |
| description('Clearing transient observers after observation node is GCed should not cause a crash.'); |
| |
| function callback(mutations) { |
| window.mutations = mutations; |
| } |
| var observer = new MutationObserver(callback); |
| |
| var div = document.createElement('div'); |
| var span = div.appendChild(document.createElement('span')); |
| observer.observe(div, {attributes: true, subtree: true}); |
| div.removeChild(span); |
| div = null; |
| gc(); |
| span.setAttribute('foo', 'bar'); |
| setTimeout(function() { |
| shouldBe('mutations.length', '1'); |
| finishJSTest(); |
| }, 0); |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |