OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../../resources/testharness.js"></script> | 2 <script src="../../../resources/testharness.js"></script> |
3 <script src="../../../resources/testharnessreport.js"></script> | 3 <script src="../../../resources/testharnessreport.js"></script> |
4 <script src="test-harness-utils.js"></script> | 4 <script src="test-harness-utils.js"></script> |
5 <body> | 5 <body> |
6 <script> | 6 <script> |
7 test(function() { | 7 test(function() { |
8 var createdInvocations = 0; | 8 var createdInvocations = 0; |
9 function created() { | 9 function created() { |
10 createdInvocations++; | 10 createdInvocations++; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 assert_array_equals( | 105 assert_array_equals( |
106 messages, | 106 messages, |
107 ['created started', 'created finished', 'entered', 'left', | 107 ['created started', 'created finished', 'entered', 'left', |
108 'attribute changed', 'done'], | 108 'attribute changed', 'done'], |
109 'callbacks should not be dispatched until the created callback has ' + | 109 'callbacks should not be dispatched until the created callback has ' + |
110 'finished'); | 110 'finished'); |
111 t.done(); | 111 t.done(); |
112 })); | 112 })); |
113 | 113 |
114 })(); | 114 })(); |
| 115 |
| 116 (function() { |
| 117 |
| 118 t = async_test('callback is called even if the element is moved to foreign docum
ent'); |
| 119 var callbackInvoked = false; |
| 120 |
| 121 withFrame(t.step_func(function(originalFrame) { |
| 122 withFrame(function(destinationFrame) { |
| 123 var protoA = Object.create(originalFrame.contentWindow.HTMLElement.proto
type); |
| 124 protoA.createdCallback = function() { |
| 125 var toBeMoved = originalFrame.contentDocument.getElementById('toBeMo
ved'); |
| 126 destinationFrame.contentDocument.body.appendChild(toBeMoved); |
| 127 }; |
| 128 |
| 129 var protoB = Object.create(originalFrame.contentWindow.HTMLElement.proto
type); |
| 130 protoB.createdCallback = function() { |
| 131 callbackInvoked = true; |
| 132 }; |
| 133 |
| 134 originalFrame.contentDocument.registerElement('x-a', {prototype: protoA}
); |
| 135 originalFrame.contentDocument.registerElement('x-b', {prototype: protoB}
); |
| 136 originalFrame.contentDocument.body.innerHTML = '<x-a></x-a><x-b id="toBe
Moved"></x-b>'; |
| 137 assert_true(callbackInvoked); |
| 138 |
| 139 t.done(); |
| 140 }); |
| 141 })); |
| 142 |
| 143 })(); |
115 </script> | 144 </script> |
OLD | NEW |