| Index: third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html
|
| diff --git a/third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html b/third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5dfcc47ede5ca7db17125cb9256d7b8a042d0e24
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html
|
| @@ -0,0 +1,33 @@
|
| +<script>
|
| +'use strict';
|
| +let constructors = [];
|
| +test(() => {
|
| + assert_equals(constructors.length, 0);
|
| +
|
| + class MyElement extends HTMLElement {
|
| + constructor() {
|
| + super();
|
| + constructors.push(this);
|
| + }
|
| + }
|
| +
|
| + customElements.define('my-element', MyElement);
|
| +
|
| + // createElement should synchronously call constructor.
|
| + let el = document.createElement('my-element');
|
| + assert_equals(constructors.length, 1);
|
| +
|
| + let importDoc = document.currentScript.ownerDocument;
|
| + let sandbox = importDoc.querySelector('#sandbox');
|
| +
|
| + // createElement should work in imported document.
|
| + let el2 = importDoc.createElement('my-element')
|
| + assert_equals(constructors.length, 2);
|
| +
|
| + // new MyElement() should synchronously call constructor.
|
| + let el3 = new MyElement();
|
| + assert_equals(constructors.length, 3);
|
| +
|
| + assert_array_equals(constructors, [el, el2, el3]);
|
| +}, 'createElement() should work in imported document.');
|
| +</script>
|
|
|