Index: LayoutTests/fast/dom/custom/document-register-on-create-callback.html |
diff --git a/LayoutTests/fast/dom/custom/document-register-on-create-callback.html b/LayoutTests/fast/dom/custom/document-register-on-create-callback.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..31dcdc7e2ba2f38ad8429f249ec20cb87e313587 |
--- /dev/null |
+++ b/LayoutTests/fast/dom/custom/document-register-on-create-callback.html |
@@ -0,0 +1,27 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/js-test.js"></script> |
dominicc (has gone to gerrit)
2013/12/14 02:42:39
I want to know more about your concern re: timing.
Hajime Morrita
2013/12/16 09:00:34
It's tricky to interleave <script> elements and ot
dominicc (has gone to gerrit)
2013/12/18 08:46:41
Can't you use async_test?
|
+<script> |
+description("document.register() in a createdCallback should upgrade elements that are in the same processing queue."); |
+ |
+var createdElements = []; |
+ |
+var protoA = Object.create(HTMLElement.prototype); |
+protoA.createdCallback = function () { |
+ createdElements.push(this.id); |
+ var protoB = Object.create(HTMLElement.prototype); |
+ protoB.createdCallback = function () { |
+ createdElements.push(this.id); |
+ }; |
+ |
+ document.register('x-b', {prototype: protoB}); |
+ shouldBe("createdElements", "['elemA0', 'elemB0']"); |
+}; |
+ |
+document.register('x-a', {prototype: protoA}); |
+</script> |
+<x-b id=elemB0></x-b> |
+<x-a id=elemA0></x-a> |
+<x-b id=elemB1></x-b> |
+<script> |
+shouldBe("createdElements", "['elemA0', 'elemB0', 'elemB1']"); |
+</script> |