<!DOCTYPE html>
<script src="../../../resources/js-test.js"></script>
<script>
description('MutationObserver wrappers should survive GC for passing into the callback even if JS has lost references.');
jsTestIsAsync = true;
function addObserver(node, fn) {
var observer = new MutationObserver(fn);
observer.testProperty = true;
observer.observe(node, {attributes:true});
}
onload = function() {
addObserver(document.body, function(records, observer) {
window.observer = observer;
shouldBe('observer.testProperty', 'true');
finishJSTest();
});
gc();
document.body.setAttribute('touch', 'the node');
};
</script>