зеркало из https://github.com/mozilla/gecko-dev.git
28 строки
1.0 KiB
HTML
28 строки
1.0 KiB
HTML
|
<!doctype html>
|
||
|
<title>Custom Elements don't lose their reflectors</title>
|
||
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||
|
<!-- First tests upgrading with an existing reflector, second without -->
|
||
|
<custom-element></custom-element>
|
||
|
<custom-element></custom-element>
|
||
|
<script>
|
||
|
(function() {
|
||
|
// Ensure we create a reflector for the first element before-hand.
|
||
|
let firstElement = document.querySelector("custom-element");
|
||
|
}());
|
||
|
|
||
|
customElements.define("custom-element", class MyCustomElement extends HTMLElement {
|
||
|
myFunction() {
|
||
|
// Do nothing
|
||
|
}
|
||
|
});
|
||
|
|
||
|
ok(!!document.querySelector("custom-element").myFunction, "Has the right prototype before GC");;
|
||
|
ok(!!document.querySelectorAll("custom-element")[1].myFunction, "Has the right prototype before GC");;
|
||
|
|
||
|
SpecialPowers.forceCC();
|
||
|
SpecialPowers.forceGC();
|
||
|
|
||
|
ok(!!document.querySelector("custom-element").myFunction, "Has the right prototype after GC");;
|
||
|
ok(!!document.querySelectorAll("custom-element")[1].myFunction, "Has the right prototype before GC");;
|
||
|
</script>
|