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

Side by Side Diff: LayoutTests/fast/dom/custom/processing-stack-recursion.html

Issue 117313008: Update Custom Elements API to new names. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update for forgotten tests. Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <body> 4 <body>
5 <template id="expected">A entered 5 <template id="expected">A entered
6 A removing parent node 6 A removing parent node
7 A left 7 A left
8 A inserting parent node 8 A inserting parent node
9 A entered 9 A entered
10 A removing parent node 10 A removing parent node
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // yet. 84 // yet.
85 // 85 //
86 // x-c turns around and sets and attribute on x-b. This tests case 86 // x-c turns around and sets and attribute on x-b. This tests case
87 // (2) because x-b is half way through processing its queue. 87 // (2) because x-b is half way through processing its queue.
88 // 88 //
89 // x-b turns around and sets an attribute on x-a. This tests case 89 // x-b turns around and sets an attribute on x-a. This tests case
90 // (3) because x-a has finished processing its queue. 90 // (3) because x-a has finished processing its queue.
91 91
92 var protoA = Object.create(HTMLElement.prototype); 92 var protoA = Object.create(HTMLElement.prototype);
93 var n = 0; 93 var n = 0;
94 protoA.enteredViewCallback = function () { 94 protoA.attachedCallback = function () {
95 log('A entered'); 95 log('A entered');
96 n++; 96 n++;
97 if (n < 3) { 97 if (n < 3) {
98 indented('A removing parent node'); 98 indented('A removing parent node');
99 this.parentNode.remove(); 99 this.parentNode.remove();
100 unindent(); 100 unindent();
101 } 101 }
102 }; 102 };
103 protoA.leftViewCallback = function () { 103 protoA.detachedCallback = function () {
104 log('A left'); 104 log('A left');
105 indented('A inserting parent node'); 105 indented('A inserting parent node');
106 document.body.appendChild(this.parentNode); 106 document.body.appendChild(this.parentNode);
107 unindent(); 107 unindent();
108 }; 108 };
109 protoA.attributeChangedCallback = function (name, oldValue, newValue) { 109 protoA.attributeChangedCallback = function (name, oldValue, newValue) {
110 log('A@' + name + ' ' + oldValue + '->' + newValue); 110 log('A@' + name + ' ' + oldValue + '->' + newValue);
111 }; 111 };
112 var A = document.register('x-a', {prototype: protoA}); 112 var A = document.registerElement('x-a', {prototype: protoA});
113 113
114 var protoB = Object.create(HTMLElement.prototype); 114 var protoB = Object.create(HTMLElement.prototype);
115 var m = 0; 115 var m = 0;
116 protoB.enteredViewCallback = function () { 116 protoB.attachedCallback = function () {
117 log('B entered'); 117 log('B entered');
118 m++; 118 m++;
119 if (m == 2) { 119 if (m == 2) {
120 indented('B setting attribute on C'); 120 indented('B setting attribute on C');
121 this.parentNode.querySelector('x-c').setAttribute('by', 'b'); 121 this.parentNode.querySelector('x-c').setAttribute('by', 'b');
122 unindent(); 122 unindent();
123 } 123 }
124 }; 124 };
125 protoB.leftViewCallback = function () { 125 protoB.detachedCallback = function () {
126 log('B left'); 126 log('B left');
127 }; 127 };
128 protoB.attributeChangedCallback = function (name, oldValue, newValue) { 128 protoB.attributeChangedCallback = function (name, oldValue, newValue) {
129 log('B@' + name + ' ' + oldValue + '->' + newValue); 129 log('B@' + name + ' ' + oldValue + '->' + newValue);
130 indented('B setting attribute on A'); 130 indented('B setting attribute on A');
131 this.parentNode.querySelector('x-a').setAttribute('by', 'b'); 131 this.parentNode.querySelector('x-a').setAttribute('by', 'b');
132 unindent(); 132 unindent();
133 }; 133 };
134 var B = document.register('x-b', {prototype: protoB}); 134 var B = document.registerElement('x-b', {prototype: protoB});
135 135
136 var protoC = Object.create(HTMLElement.prototype); 136 var protoC = Object.create(HTMLElement.prototype);
137 protoC.enteredViewCallback = function () { 137 protoC.attachedCallback = function () {
138 log('C entered'); 138 log('C entered');
139 }; 139 };
140 protoC.leftViewCallback = function () { 140 protoC.detachedCallback = function () {
141 log('C left'); 141 log('C left');
142 }; 142 };
143 protoC.attributeChangedCallback = function (name, oldValue, newValue) { 143 protoC.attributeChangedCallback = function (name, oldValue, newValue) {
144 log('C@' + name + ' ' + oldValue + '->' + newValue); 144 log('C@' + name + ' ' + oldValue + '->' + newValue);
145 indented('C setting attribute on B'); 145 indented('C setting attribute on B');
146 this.parentNode.querySelector('x-b').setAttribute('by', 'c'); 146 this.parentNode.querySelector('x-b').setAttribute('by', 'c');
147 unindent(); 147 unindent();
148 }; 148 };
149 var C = document.register('x-c', {prototype: protoC}); 149 var C = document.registerElement('x-c', {prototype: protoC});
150 150
151 var div = document.createElement('div'); 151 var div = document.createElement('div');
152 div.innerHTML = '<div><x-a></x-a><x-b></x-b><x-c></x-c></div>'; 152 div.innerHTML = '<div><x-a></x-a><x-b></x-b><x-c></x-c></div>';
153 document.body.appendChild(div); 153 document.body.appendChild(div);
154 154
155 assert_equals(buffer.join('\n'), expected.content.textContent, 'should have generated an identical log'); 155 assert_equals(buffer.join('\n'), expected.content.textContent, 'should have generated an identical log');
156 }, 'recursively scheduled callbacks'); 156 }, 'recursively scheduled callbacks');
157 </script> 157 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698