Index: ui/events/win/events_win.cc |
diff --git a/ui/events/win/events_win.cc b/ui/events/win/events_win.cc |
index 5a2c7d7e38be1e2566dbf33efeafbc3f7ff7034b..4a619cc829bd4ce74c8dfc7a1989d570a0142d11 100644 |
--- a/ui/events/win/events_win.cc |
+++ b/ui/events/win/events_win.cc |
@@ -241,9 +241,10 @@ gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) { |
gfx::Point EventSystemLocationFromNative( |
const base::NativeEvent& native_event) { |
- // TODO(ben): Needs to always return screen position here. Returning normal |
- // origin for now since that's obviously wrong. |
- return gfx::Point(0, 0); |
+ POINT global_point = { static_cast<short>(LOWORD(native_event.lParam)), |
+ static_cast<short>(HIWORD(native_event.lParam)) }; |
+ ClientToScreen(native_event.hwnd, &global_point); |
+ return gfx::Point(global_point); |
} |
KeyboardCode KeyboardCodeFromNative(const base::NativeEvent& native_event) { |