Index: ui/base/win/events_win.cc |
diff --git a/ui/base/win/events_win.cc b/ui/base/win/events_win.cc |
index 3afddc293daf1d04851a62058b83f96778feb3df..212002597b22b0f23bdff88b2e93df532f84414a 100644 |
--- a/ui/base/win/events_win.cc |
+++ b/ui/base/win/events_win.cc |
@@ -14,6 +14,9 @@ |
namespace { |
+// From MSDN. |
+#define MOUSEEVENTF_FROMTOUCH 0xFF515700 |
+ |
// Get the native mouse key state from the native event message type. |
int GetNativeMouseKey(const base::NativeEvent& native_event) { |
switch (native_event.message) { |
@@ -312,4 +315,13 @@ int GetModifiersFromACCEL(const ACCEL& accel) { |
return modifiers; |
} |
+// Windows emulates mouse messages for touch events. |
+bool IsMouseEventFromTouch(UINT message) { |
+ return (message == WM_MOUSEMOVE || |
+ message == WM_LBUTTONDOWN || message == WM_LBUTTONUP || |
+ message == WM_RBUTTONDOWN || message == WM_RBUTTONUP) && |
+ (GetMessageExtraInfo() & MOUSEEVENTF_FROMTOUCH) == |
+ MOUSEEVENTF_FROMTOUCH; |
+} |
+ |
} // namespace ui |