| Index: LayoutTests/fast/forms/listbox-onchange.html
|
| diff --git a/LayoutTests/fast/forms/listbox-onchange.html b/LayoutTests/fast/forms/listbox-onchange.html
|
| index 19b50b037e925e91933ede1fe45995ff40f2a6b1..ccb3d05884b805808fec2056e93e8e2e42bd98ed 100644
|
| --- a/LayoutTests/fast/forms/listbox-onchange.html
|
| +++ b/LayoutTests/fast/forms/listbox-onchange.html
|
| @@ -119,51 +119,53 @@
|
| if (window.testRunner)
|
| testRunner.notifyDone();
|
| }
|
| -
|
| - function buildModifiers(shift, metaOrCtrl) {
|
| - modifiers = [];
|
| - if (shift)
|
| - modifiers.push("shiftKey");
|
| - if (metaOrCtrl)
|
| - modifiers.push("addSelectionKey");
|
| - return modifiers;
|
| - }
|
|
|
| function mouseDownOnSelect(selId, index, shift, metaOrCtrl)
|
| {
|
| - modifiers = buildModifiers(shift, metaOrCtrl);
|
| + var meta = false;
|
| + var ctrl = false;
|
| + if (metaOrCtrl) {
|
| + if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
|
| + meta = true;
|
| + else
|
| + ctrl = true;
|
| + }
|
| var sl = document.getElementById(selId);
|
| - var rect = sl.options[index].getBoundingClientRect();
|
| - if (window.eventSender) {
|
| - eventSender.mouseMoveTo(rect.left + 1, rect.top + 1);
|
| - eventSender.mouseDown(0, modifiers);
|
| - } else {
|
| - testFailed("This test requires window.eventSender.");
|
| - }
|
| + var event = document.createEvent("MouseEvent");
|
| + event.initMouseEvent("mousedown", true, true, document.defaultView, 1, 0, 0, 0, 0, ctrl, false, shift, meta, 0, document);
|
| + sl.options[index].dispatchEvent(event);
|
| }
|
|
|
| function mouseUpOnSelect(selId, index, shift, metaOrCtrl)
|
| {
|
| - modifiers = buildModifiers(shift, metaOrCtrl);
|
| + var meta = false;
|
| + var ctrl = false;
|
| + if (metaOrCtrl) {
|
| + if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
|
| + meta = true;
|
| + else
|
| + ctrl = true;
|
| + }
|
| var sl = document.getElementById(selId);
|
| - var rect = sl.options[index].getBoundingClientRect();
|
| - if (window.eventSender) {
|
| - eventSender.mouseMoveTo(rect.left + 1, rect.top + 1);
|
| - eventSender.mouseUp(0, modifiers);
|
| - } else {
|
| - testFailed("This test requires window.eventSender.");
|
| - }
|
| + var event = document.createEvent("MouseEvent");
|
| + event.initMouseEvent("mouseup", true, true, document.defaultView, 1, 0, 0, 0, 0, ctrl, false, shift, meta, 0, document);
|
| + sl.options[index].dispatchEvent(event);
|
| }
|
|
|
| function keyDownOnSelect(selId, identifier, shift, metaOrCtrl)
|
| {
|
| - modifiers = buildModifiers(shift, metaOrCtrl);
|
| + modifiers = [];
|
| + if (shift)
|
| + modifiers[0] = "shiftKey";
|
| + if (metaOrCtrl) {
|
| + if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
|
| + modifiers[modifiers.length] = "metaKey";
|
| + else
|
| + modifiers[modifiers.length] = "controlKey";
|
| + }
|
| +
|
| document.getElementById(selId).focus();
|
| - if (window.eventSender) {
|
| - eventSender.keyDown(identifier, modifiers);
|
| - } else {
|
| - testFailed("This test requires window.eventSender.");
|
| - }
|
| + eventSender.keyDown(identifier, modifiers);
|
| }
|
|
|
| function getSelectedOptions(selId)
|
|
|