Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Unified Diff: third_party/WebKit/LayoutTests/custom-elements/imports/resources/create-element.html

Issue 2242743002: Make custom elements work in HTML imports (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resolve most comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698