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) |