blob: 0a25ed63a3af5fe73df9c55828396d22eb03034f [file] [log] [blame]
<!DOCTYPE html>
<div id="container">
<template>
<x-custom></x-custom>
</template>
</div>
<script src="../../../resources/gc.js"></script>
<script src="../../../resources/js-test.js"></script>
<script>
description('Custom element wrappers in templates should be retained');
jsTestIsAsync = true;
document.querySelector('template').content.ownerDocument.registerElement('x-custom', {
prototype: {
createdCallback: function() {
this.expando = 'present';
}
}
});
var template, customElement;
debug("Testing major GC...");
asyncGC(function() {
template = document.querySelector('template');
customElement = template.content.querySelector('x-custom');
shouldBeEqualToString('customElement.expando', 'present');
container.innerHTML = container.innerHTML;
debug("Testing minor GC...");
asyncMinorGC(function() {
template = document.querySelector('template');
customElement = template.content.querySelector('x-custom');
shouldBeEqualToString('customElement.expando', 'present');
finishJSTest();
});
});
</script>