Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'android'
- Manifest: dom/base/test/chrome/chrome.toml
<?xml version="1.0"?>
type="text/css"?>
<!--
-->
<!-- test results are displayed in the html:body -->
<iframe onload="startTests()" id="frame" src="http://example.com/chrome/dom/base/test/chrome/frame_custom_element_content.html"></iframe>
</body>
<!-- test code goes here -->
<script type="application/javascript"><![CDATA[
var connectedCallbackCount = 0;
function startTests() {
var frame = $("frame");
class XFoo extends frame.contentWindow.HTMLElement {};
frame.contentWindow.customElements.define("x-foo", XFoo);
var elem = new XFoo();
is(elem.tagName, "X-FOO", "Constructor should create an x-foo element.");
class XBar extends frame.contentWindow.HTMLElement {
constructor() {
super();
this.magicNumber = 42;
}
connectedCallback() {
connectedCallbackCount++;
// Callback should be called only once by element created in content.
is(connectedCallbackCount, 1, "Connected callback called, should be called once in test.");
is(this.magicNumber, 42, "Callback should be able to see the custom prototype.");
}
};
frame.contentWindow.customElements.define("x-bar", XBar);
is(connectedCallbackCount, 1, "Connected callback should be called by element created in content.");
var element = frame.contentDocument.createElement("x-bar");
is(element.magicNumber, 42, "Should be able to see the custom prototype on created element.");
}
]]></script>
</window>