| <!DOCTYPE html> |
| <script src="../resources/js-test.js"></script> |
| <body> |
| <script> |
| description('Tests basic web-exposure of Custom Elements'); |
| |
| function evalAndLogValue(s) { |
| debug(evalAndLog(s)); |
| debug(''); |
| } |
| |
| evalAndLogValue('Document.prototype.hasOwnProperty("registerElement")'); |
| evalAndLogValue('typeof Document.prototype.registerElement'); |
| evalAndLogValue('document.createElement("x-a") instanceof HTMLUnknownElement'); |
| |
| var div = document.createElement('div'); |
| div.innerHTML = '<div is="x-b">'; |
| document.body.appendChild(div); |
| evalAndLogValue('document.querySelector(":unresolved")'); |
| div.remove(); |
| |
| var span = document.createElement('span', 'type-extension'); |
| evalAndLogValue('span.getAttribute("is")'); |
| |
| class A extends HTMLButtonElement { |
| constructor() { |
| super(); |
| } |
| } |
| |
| if (shouldNotThrow('window.customElements.define("a-a", A, {extends: "b"})')) { |
| if (window.internals) { |
| shouldBeTrue(internals.runtimeFlags.customElementsBuiltinEnabled); |
| } |
| } |
| |
| successfullyParsed = true; |
| </script> |