summaryrefslogtreecommitdiffstats
path: root/ui/base/win
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-20 16:08:49 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-20 16:08:49 +0000
commit13d08b78bcfd4721542a94d6de19052d2b33ba50 (patch)
treecf8c8d27042a4c2d1f977802dd22968191224328 /ui/base/win
parent71d97af6ac41981031ad1ae16d8e7f1569769f8d (diff)
downloadchromium_src-13d08b78bcfd4721542a94d6de19052d2b33ba50.zip
chromium_src-13d08b78bcfd4721542a94d6de19052d2b33ba50.tar.gz
chromium_src-13d08b78bcfd4721542a94d6de19052d2b33ba50.tar.bz2
Wires up MouseEvent changed flags on windows.
BUG=140102 TEST=none R=ben@chromium.org,msw@chromium.org Review URL: https://chromiumcodereview.appspot.com/10823380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/win')
-rw-r--r--ui/base/win/events_win.cc16
1 files changed, 11 insertions, 5 deletions
diff --git a/ui/base/win/events_win.cc b/ui/base/win/events_win.cc
index 5cf937c..0dd8429 100644
--- a/ui/base/win/events_win.cc
+++ b/ui/base/win/events_win.cc
@@ -111,10 +111,6 @@ int KeyStateFlagsFromNative(const base::NativeEvent& native_event) {
// Returns a mask corresponding to the set of pressed mouse buttons.
// This includes the button of the given message, even if it is being released.
int MouseStateFlagsFromNative(const base::NativeEvent& native_event) {
- // TODO(msw): ORing the pressed/released button into the flags is _wrong_.
- // It makes it impossible to tell which button was modified when multiple
- // buttons are/were held down. Instead, we need to track the modified button
- // independently and audit event consumers to do the right thing.
int win_flags = GetNativeMouseKey(native_event);
// Client mouse messages provide key states in their WPARAMs.
@@ -233,7 +229,17 @@ bool IsMouseEvent(const base::NativeEvent& native_event) {
int GetChangedMouseButtonFlagsFromNative(
const base::NativeEvent& native_event) {
- // TODO(sky): implement me.
+ switch (GetNativeMouseKey(native_event)) {
+ case MK_LBUTTON:
+ return EF_LEFT_MOUSE_BUTTON;
+ case MK_MBUTTON:
+ return EF_MIDDLE_MOUSE_BUTTON;
+ case MK_RBUTTON:
+ return EF_RIGHT_MOUSE_BUTTON;
+ // TODO: add support for MK_XBUTTON1.
+ default:
+ break;
+ }
return 0;
}