| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <style> |
| .popover { |
| position: absolute; |
| z-index: 1; |
| top: 100px; |
| left: 100px; |
| width: 300px; |
| height: 200px; |
| border: 1px solid black; |
| } |
| |
| .container { |
| position: absolute; |
| width: 100%; |
| height: 100%; |
| } |
| |
| </style> |
| |
| <script src="../../../resources/js-test-pre.js" type="text/javascript" charset="utf-8"></script> |
| <script> |
| if (window.testRunner) { |
| testRunner.waitUntilDone(); |
| testRunner.dumpAsText(); |
| } |
| |
| var popover; |
| function createPopover() |
| { |
| popover = document.createElement('div'); |
| popover.className = 'popover'; |
| var container = document.createElement('div'); |
| container.className = 'container'; |
| popover.appendChild(container); |
| } |
| |
| function doTest() |
| { |
| createPopover(); |
| document.body.appendChild(popover); |
| popover.addEventListener("mousewheel", function() { }, true); |
| popover.addEventListener("mousewheel", function() { }, true); |
| window.setTimeout(dismiss, 0); |
| } |
| |
| var count = 0; |
| function dismiss() |
| { |
| document.body.removeChild(popover); |
| gc(); |
| |
| document.getElementById('count').textContent = ++count; |
| if (count > 3) { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| return; |
| } |
| doTest(); |
| } |
| |
| window.addEventListener('load', doTest, false); |
| </script> |
| </head> |
| <body> |
| <p>Test that elements with multiple wheel event handlers are removed from the document's event handler set when the element is destroyed. Test passes if it does not crash.</p> |
| <p>Iterations: <span id="count"></span></p> |
| </body> |
| </html> |