| 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..728e06d9716e27be5b02f0468b5bbbc37070d160
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html
|
| @@ -0,0 +1,38 @@
|
| +<script>
|
| +'use strict';
|
| +
|
| +let constructors = [];
|
| +
|
| +test(() => {
|
| + assert_equals(constructors.length, 0);
|
| +
|
| + class MyElement extends HTMLElement {
|
| + constructor() {
|
| + super();
|
| + constructors.push(this);
|
| + }
|
| + }
|
| +
|
| + customElements.define('a-a', MyElement);
|
| +
|
| + // createElement should synchronously call constructor.
|
| + let a = document.createElement('a-a');
|
| + assert_equals(constructors.length, 1);
|
| + assert_equals(a.ownerDocument, document);
|
| +
|
| + let importDoc = document.currentScript.ownerDocument;
|
| +
|
| + // TODO(kochi): crbug.com/640465 createElement returns wrong ownerDocument
|
| + // createElement should work in imported document.
|
| + let b = importDoc.createElement('a-a')
|
| + assert_equals(b.ownerDocument, importDoc);
|
| + assert_equals(constructors.length, 2);
|
| +
|
| + // new MyElement() should synchronously call constructor.
|
| + let c = new MyElement();
|
| + assert_equals(c.ownerDocument, document);
|
| + assert_equals(constructors.length, e);
|
| +
|
| + assert_array_equals(constructors, [a, b, c]);
|
| +}, 'createElement() and new MyElement should work in imported document.');
|
| +</script>
|
|
|