| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div style="height: 100px; overflow: scroll;"> |
| <select multiple size="3" id="listbox"> |
| <option>item 1</option> |
| <option>item 2</option> |
| <option>item 3</option> |
| </select> |
| <div style="height: 100px;"> |
| </div> |
| </div> |
| <div id="log"></div> |
| <script> |
| test(function() { |
| var changeEventFired = false; |
| var listbox = document.getElementById("listbox"); |
| listbox.addEventListener("change", function() { |
| changeEventFired = true; |
| }); |
| if (!window.eventSender) |
| return; |
| var x = listbox.offsetLeft + listbox.offsetWidth / 2; |
| var y = listbox.offsetTop + 5; |
| eventSender.dragMode = false; |
| eventSender.mouseMoveTo(x, y); |
| eventSender.mouseDown(); |
| // Move outside of listbox and then release mouse. |
| eventSender.mouseMoveTo(x + 1, y); |
| eventSender.mouseMoveTo(x + listbox.offsetWidth, y); |
| eventSender.mouseUp(); |
| assert_true(changeEventFired, "changeEventFired"); |
| }, "Event listener on the select element should be triggered."); |
| </script> |
| </body> |
| </html> |