diff options
author | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-25 03:30:34 +0000 |
---|---|---|
committer | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-25 03:30:34 +0000 |
commit | 42be0ca594ed7980c7ee73ef04919cd890463e9a (patch) | |
tree | 2a842c204463a24dd792734ab7d4867974ca5381 /webkit/data | |
parent | 4fb105e615d1ee15127f8b293e7e3361ed7c74b0 (diff) | |
download | chromium_src-42be0ca594ed7980c7ee73ef04919cd890463e9a.zip chromium_src-42be0ca594ed7980c7ee73ef04919cd890463e9a.tar.gz chromium_src-42be0ca594ed7980c7ee73ef04919cd890463e9a.tar.bz2 |
Ensure "contextmenu" event is dispatched _after_ "mouseup".
BUG=1330688
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1299 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/data')
-rw-r--r-- | webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering-expected.txt | 7 | ||||
-rw-r--r-- | webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering.html | 71 |
2 files changed, 78 insertions, 0 deletions
diff --git a/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering-expected.txt b/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering-expected.txt new file mode 100644 index 0000000..7a94cda --- /dev/null +++ b/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering-expected.txt @@ -0,0 +1,7 @@ +[Click target] +Right click in the red box: the event sequence should match (mousedown, mouseup, contextmenu) + +Dispatched event mousedown (button=2) +Dispatched event mouseup (button=2) +Dispatched event contextmenu (button=2) + diff --git a/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering.html b/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering.html new file mode 100644 index 0000000..932ad89 --- /dev/null +++ b/webkit/data/layout_tests/chrome/fast/events/contextmenu-event-ordering.html @@ -0,0 +1,71 @@ +<html> + <head> + <title>Context menu event ordering</title> + <style> + #clickTarget { + width: 100%; + height: 50px; + background: red; + text-align: center; + } + </style> + <script> + + function startTest() { + var target = document.getElementById("clickTarget"); + + traceMouseEvent(target, "click"); + traceMouseEvent(target, "mousedown"); + traceMouseEvent(target, "mouseup"); + traceMouseEvent(target, "contextmenu"); + + if (window.layoutTestController) { + window.layoutTestController.dumpAsText(); + + // Right click inside clickTarget + window.eventSender.mouseMoveTo(20,20); + window.eventSender.mouseDown(2 /*right button*/); + window.eventSender.mouseUp(2 /*right button*/); + } + } + + function traceMouseEvent(target, eventName) { + + var callback = function(e) { + log ("Dispatched event " + e.type + " (button=" + e.button + ")"); + + if (eventName == "contextmenu") { + // Prevent the context menu from being displayed. + e.returnValue = false; + if (e.stopPropagation) { + e.stopPropagation(); + } + } + }; + + if (target.addEventListener) { + target.addEventListener(eventName, callback, false); + } else if (target.attachEvent) /*Internet Explorer*/ { + target.attachEvent("on" + eventName, callback); + } else { + log ("!!! Failed registering " + eventName); + } + } + + function log(msg) { + var log = document.getElementById("log"); + log.appendChild(document.createTextNode(msg)); + log.appendChild(document.createElement("br")); + } + </script> + </head> + + <body onload="startTest()"> + <div id=clickTarget> + [Click target] + </div> + + <p>Right click in the red box: the event sequence should match (mousedown, mouseup, contextmenu)</p> + <pre id=log></pre> + </body> +</html> |