| OLD | NEW |
| 1 <div id="scrolltarget"> | 1 <div id="scrolltarget"> |
| 2 <script src="../../resources/js-test.js"></script> | 2 <script src="../../resources/js-test.js"></script> |
| 3 <script> | 3 <script> |
| 4 description('This test checks that we correctly update the scroll event handler
count as event handlers are added and removed'); | 4 description('This test checks that we correctly update the scroll event handler
count as event handlers are added and removed'); |
| 5 (function() { | 5 (function() { |
| 6 // Test addEventListener/removeEventListener on the document. | 6 // Test addEventListener/removeEventListener on the document. |
| 7 var listener = function() { } | 7 var listener = function() { } |
| 8 | 8 |
| 9 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); | 9 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); |
| 10 document.addEventListener('scroll', listener, true); | 10 document.addEventListener('scroll', listener, true); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 var div = document.createElement('div'); | 116 var div = document.createElement('div'); |
| 117 div.addEventListener('scroll', function() { }); | 117 div.addEventListener('scroll', function() { }); |
| 118 document.body.appendChild(div); | 118 document.body.appendChild(div); |
| 119 | 119 |
| 120 var iframe = document.createElement('iframe'); | 120 var iframe = document.createElement('iframe'); |
| 121 div.appendChild(iframe); | 121 div.appendChild(iframe); |
| 122 var nestedDocument = iframe.contentWindow.document; | 122 var nestedDocument = iframe.contentWindow.document; |
| 123 nestedDocument.open('text/html', 'replace'); | 123 nestedDocument.open('text/html', 'replace'); |
| 124 nestedDocument.write('<!DOCTYPE html>\n<script>\ndocument.onscroll=function(
){};\n' + | 124 nestedDocument.write('<!DOCTYPE html>\n<script>\ndocument.onscroll=function(
){};\n' + |
| 125 'window.onscroll=function(){};</' + 'script>\n'); | 125 'window.onscroll=function(){};</' + 'script>\n'); |
| 126 nestedDocument.close(); | |
| 127 | 126 |
| 128 shouldBe('window.internals.scrollEventHandlerCount(document)', '3'); | 127 shouldBe('window.internals.scrollEventHandlerCount(document)', '3'); |
| 129 | 128 |
| 130 var unattachedDoc = document.implementation.createHTMLDocument(''); | 129 var unattachedDoc = document.implementation.createHTMLDocument(''); |
| 131 unattachedDoc.body.appendChild(div); | 130 unattachedDoc.body.appendChild(div); |
| 132 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); | 131 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); |
| 133 })(); | 132 })(); |
| 134 | 133 |
| 135 debug('Test moving a scroll event listener between documents belonging to the sa
me page'); | 134 debug('Test moving a scroll event listener between documents belonging to the sa
me page'); |
| 136 (function() { | 135 (function() { |
| 137 var iframe = document.createElement('iframe'); | 136 var iframe = document.createElement('iframe'); |
| 138 document.body.appendChild(iframe); | 137 document.body.appendChild(iframe); |
| 139 var nestedDocument = iframe.contentWindow.document; | 138 var nestedDocument = iframe.contentWindow.document; |
| 140 nestedDocument.open('text/html', 'replace'); | 139 nestedDocument.open('text/html', 'replace'); |
| 141 nestedDocument.write('<!DOCTYPE html><div id=foo></div>'); | 140 nestedDocument.write('<!DOCTYPE html><div id=foo></div>'); |
| 142 nestedDocument.close(); | |
| 143 | 141 |
| 144 var element = frames[0].document.getElementById('foo'); | 142 var element = frames[0].document.getElementById('foo'); |
| 145 var listener = function() { } | 143 var listener = function() { } |
| 146 element.addEventListener('scroll', listener, false); | 144 element.addEventListener('scroll', listener, false); |
| 147 frames[0].window.addEventListener('scroll', listener, false); | 145 frames[0].window.addEventListener('scroll', listener, false); |
| 148 shouldBe('window.internals.scrollEventHandlerCount(document)', '2'); | 146 shouldBe('window.internals.scrollEventHandlerCount(document)', '2'); |
| 149 | 147 |
| 150 document.body.appendChild(element); | 148 document.body.appendChild(element); |
| 151 shouldBe('window.internals.scrollEventHandlerCount(document)', '2'); | 149 shouldBe('window.internals.scrollEventHandlerCount(document)', '2'); |
| 152 | 150 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 180 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); | 178 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); |
| 181 window.onscroll = function() { } | 179 window.onscroll = function() { } |
| 182 shouldBe('window.internals.scrollEventHandlerCount(document)', '1'); | 180 shouldBe('window.internals.scrollEventHandlerCount(document)', '1'); |
| 183 window.onscroll = function() { } | 181 window.onscroll = function() { } |
| 184 shouldBe('window.internals.scrollEventHandlerCount(document)', '1'); | 182 shouldBe('window.internals.scrollEventHandlerCount(document)', '1'); |
| 185 window.onscroll = null; | 183 window.onscroll = null; |
| 186 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); | 184 shouldBe('window.internals.scrollEventHandlerCount(document)', '0'); |
| 187 })(); | 185 })(); |
| 188 </script> | 186 </script> |
| 189 </body> | 187 </body> |
| OLD | NEW |