OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/web_input_event_aura.h" | 5 #include "content/browser/renderer_host/web_input_event_aura.h" |
6 | 6 |
7 #include "ui/aura/event.h" | 7 #include "ui/aura/event.h" |
| 8 #include "ui/aura/window.h" |
8 | 9 |
9 namespace content { | 10 namespace content { |
10 | 11 |
11 #if defined(OS_WIN) | 12 #if defined(OS_WIN) |
12 WebKit::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( | 13 WebKit::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( |
13 base::NativeEvent native_event); | 14 base::NativeEvent native_event); |
14 WebKit::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( | 15 WebKit::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( |
15 base::NativeEvent native_event); | 16 base::NativeEvent native_event); |
16 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( | 17 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( |
17 base::NativeEvent native_event); | 18 base::NativeEvent native_event); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 MakeUntranslatedWebMouseEventFromNativeEvent(event->native_event()); | 58 MakeUntranslatedWebMouseEventFromNativeEvent(event->native_event()); |
58 #else | 59 #else |
59 WebKit::WebMouseEvent webkit_event = MakeWebMouseEventFromAuraEvent(event); | 60 WebKit::WebMouseEvent webkit_event = MakeWebMouseEventFromAuraEvent(event); |
60 #endif | 61 #endif |
61 | 62 |
62 // Replace the event's coordinate fields with translated position data from | 63 // Replace the event's coordinate fields with translated position data from |
63 // |event|. | 64 // |event|. |
64 webkit_event.windowX = webkit_event.x = event->x(); | 65 webkit_event.windowX = webkit_event.x = event->x(); |
65 webkit_event.windowY = webkit_event.y = event->y(); | 66 webkit_event.windowY = webkit_event.y = event->y(); |
66 | 67 |
67 // TODO(beng): map these to screen coordinates. | 68 const gfx::Point host_point = |
68 webkit_event.globalX = event->x(); | 69 ui::EventLocationFromNative(event->native_event()); |
69 webkit_event.globalY = event->y(); | 70 webkit_event.globalX = host_point.x(); |
| 71 webkit_event.globalY = host_point.y(); |
70 | 72 |
71 return webkit_event; | 73 return webkit_event; |
72 } | 74 } |
73 | 75 |
74 WebKit::WebMouseWheelEvent MakeWebMouseWheelEvent(aura::MouseEvent* event) { | 76 WebKit::WebMouseWheelEvent MakeWebMouseWheelEvent(aura::MouseEvent* event) { |
75 #if defined(OS_WIN) | 77 #if defined(OS_WIN) |
76 // Construct an untranslated event from the platform event data. | 78 // Construct an untranslated event from the platform event data. |
77 WebKit::WebMouseWheelEvent webkit_event = | 79 WebKit::WebMouseWheelEvent webkit_event = |
78 MakeUntranslatedWebMouseWheelEventFromNativeEvent(event->native_event()); | 80 MakeUntranslatedWebMouseWheelEventFromNativeEvent(event->native_event()); |
79 #else | 81 #else |
80 WebKit::WebMouseWheelEvent webkit_event = | 82 WebKit::WebMouseWheelEvent webkit_event = |
81 MakeWebMouseWheelEventFromAuraEvent(event); | 83 MakeWebMouseWheelEventFromAuraEvent(event); |
82 #endif | 84 #endif |
83 | 85 |
84 // Replace the event's coordinate fields with translated position data from | 86 // Replace the event's coordinate fields with translated position data from |
85 // |event|. | 87 // |event|. |
86 webkit_event.windowX = webkit_event.x = event->x(); | 88 webkit_event.windowX = webkit_event.x = event->x(); |
87 webkit_event.windowY = webkit_event.y = event->y(); | 89 webkit_event.windowY = webkit_event.y = event->y(); |
88 | 90 |
89 // TODO(beng): map these to screen coordinates. | 91 const gfx::Point host_point = |
90 webkit_event.globalX = event->x(); | 92 ui::EventLocationFromNative(event->native_event()); |
91 webkit_event.globalY = event->y(); | 93 webkit_event.globalX = host_point.x(); |
| 94 webkit_event.globalY = host_point.y(); |
92 | 95 |
93 return webkit_event; | 96 return webkit_event; |
94 } | 97 } |
95 | 98 |
96 WebKit::WebKeyboardEvent MakeWebKeyboardEvent(aura::KeyEvent* event) { | 99 WebKit::WebKeyboardEvent MakeWebKeyboardEvent(aura::KeyEvent* event) { |
97 // Windows can figure out whether or not to construct a RawKeyDown or a Char | 100 // Windows can figure out whether or not to construct a RawKeyDown or a Char |
98 // WebInputEvent based on the type of message carried in | 101 // WebInputEvent based on the type of message carried in |
99 // event->native_event(). X11 is not so fortunate, there is no separate | 102 // event->native_event(). X11 is not so fortunate, there is no separate |
100 // translated event type, so DesktopHostLinux sends an extra KeyEvent with | 103 // translated event type, so DesktopHostLinux sends an extra KeyEvent with |
101 // is_char() == true. We need to pass the aura::KeyEvent to the X11 function | 104 // is_char() == true. We need to pass the aura::KeyEvent to the X11 function |
102 // to detect this case so the right event type can be constructed. | 105 // to detect this case so the right event type can be constructed. |
103 #if defined(OS_WIN) | 106 #if defined(OS_WIN) |
104 // Key events require no translation by the aura system. | 107 // Key events require no translation by the aura system. |
105 return MakeWebKeyboardEventFromNativeEvent(event->native_event()); | 108 return MakeWebKeyboardEventFromNativeEvent(event->native_event()); |
106 #else | 109 #else |
107 return MakeWebKeyboardEventFromAuraEvent(event); | 110 return MakeWebKeyboardEventFromAuraEvent(event); |
108 #endif | 111 #endif |
109 } | 112 } |
110 | 113 |
111 WebKit::WebTouchPoint* UpdateWebTouchEvent(aura::TouchEvent* event, | 114 WebKit::WebTouchPoint* UpdateWebTouchEvent(aura::TouchEvent* event, |
112 WebKit::WebTouchEvent* web_event) { | 115 WebKit::WebTouchEvent* web_event) { |
113 #if defined(OS_WIN) | 116 #if defined(OS_WIN) |
114 return UpdateWebTouchEventFromNativeEvent(event->native_event(), web_event); | 117 return UpdateWebTouchEventFromNativeEvent(event->native_event(), web_event); |
115 #else | 118 #else |
116 return UpdateWebTouchEventFromAuraEvent(event, web_event); | 119 return UpdateWebTouchEventFromAuraEvent(event, web_event); |
117 #endif | 120 #endif |
118 } | 121 } |
119 | 122 |
120 } // namespace content | 123 } // namespace content |
OLD | NEW |