Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: content/browser/renderer_host/web_input_event_aura.cc

Issue 11339037: aura-touch: Refactor some code so that both cros and win-aura can share some code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/ui_events_helper.h"
7 #include "ui/aura/window.h" 8 #include "ui/aura/window.h"
8 #include "ui/base/events/event.h" 9 #include "ui/base/events/event.h"
9 10
10 namespace content { 11 namespace content {
11 12
12 #if defined(OS_WIN) 13 #if defined(OS_WIN)
13 WebKit::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( 14 WebKit::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent(
14 base::NativeEvent native_event); 15 base::NativeEvent native_event);
15 WebKit::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( 16 WebKit::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent(
16 base::NativeEvent native_event); 17 base::NativeEvent native_event);
17 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( 18 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent(
18 base::NativeEvent native_event); 19 base::NativeEvent native_event);
19 WebKit::WebGestureEvent MakeWebGestureEventFromNativeEvent( 20 WebKit::WebGestureEvent MakeWebGestureEventFromNativeEvent(
20 base::NativeEvent native_event); 21 base::NativeEvent native_event);
21 WebKit::WebTouchPoint* UpdateWebTouchEventFromNativeEvent(
22 base::NativeEvent native_event, WebKit::WebTouchEvent* web_event);
23 #else 22 #else
24 WebKit::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 23 WebKit::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
25 ui::MouseWheelEvent* event); 24 ui::MouseWheelEvent* event);
26 WebKit::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 25 WebKit::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
27 ui::ScrollEvent* event); 26 ui::ScrollEvent* event);
28 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( 27 WebKit::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent(
29 ui::KeyEvent* event); 28 ui::KeyEvent* event);
30 WebKit::WebGestureEvent MakeWebGestureEventFromAuraEvent( 29 WebKit::WebGestureEvent MakeWebGestureEventFromAuraEvent(
31 ui::GestureEvent* event); 30 ui::GestureEvent* event);
32 WebKit::WebGestureEvent MakeWebGestureEventFromAuraEvent( 31 WebKit::WebGestureEvent MakeWebGestureEventFromAuraEvent(
33 ui::ScrollEvent* event); 32 ui::ScrollEvent* event);
34 WebKit::WebTouchPoint* UpdateWebTouchEventFromAuraEvent(
35 ui::TouchEvent* event, WebKit::WebTouchEvent* web_event);
36 #endif 33 #endif
37 34
38 WebKit::WebMouseEvent MakeWebMouseEventFromAuraEvent(ui::MouseEvent* event); 35 WebKit::WebMouseEvent MakeWebMouseEventFromAuraEvent(ui::MouseEvent* event);
39 36
40 // General approach: 37 // General approach:
41 // 38 //
42 // ui::Event only carries a subset of possible event data provided to Aura by 39 // ui::Event only carries a subset of possible event data provided to Aura by
43 // the host platform. WebKit utilizes a larger subset of that information than 40 // the host platform. WebKit utilizes a larger subset of that information than
44 // Aura itself. WebKit includes some built in cracking functionality that we 41 // Aura itself. WebKit includes some built in cracking functionality that we
45 // rely on to obtain this information cleanly and consistently. 42 // rely on to obtain this information cleanly and consistently.
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 } 178 }
182 179
183 WebKit::WebGestureEvent MakeWebGestureEventFlingCancel() { 180 WebKit::WebGestureEvent MakeWebGestureEventFlingCancel() {
184 WebKit::WebGestureEvent gesture_event; 181 WebKit::WebGestureEvent gesture_event;
185 182
186 // All other fields are ignored on a GestureFlingCancel event. 183 // All other fields are ignored on a GestureFlingCancel event.
187 gesture_event.type = WebKit::WebInputEvent::GestureFlingCancel; 184 gesture_event.type = WebKit::WebInputEvent::GestureFlingCancel;
188 return gesture_event; 185 return gesture_event;
189 } 186 }
190 187
191 WebKit::WebTouchPoint* UpdateWebTouchEvent(ui::TouchEvent* event,
192 WebKit::WebTouchEvent* web_event) {
193 #if defined(OS_WIN)
194 return UpdateWebTouchEventFromNativeEvent(event->native_event(), web_event);
195 #else
196 return UpdateWebTouchEventFromAuraEvent(event, web_event);
197 #endif
198 }
199
200 int EventFlagsToWebEventModifiers(int flags) {
201 int modifiers = 0;
202 if (flags & ui::EF_SHIFT_DOWN)
203 modifiers |= WebKit::WebInputEvent::ShiftKey;
204 if (flags & ui::EF_CONTROL_DOWN)
205 modifiers |= WebKit::WebInputEvent::ControlKey;
206 if (flags & ui::EF_ALT_DOWN)
207 modifiers |= WebKit::WebInputEvent::AltKey;
208 // TODO(beng): MetaKey/META_MASK
209 if (flags & ui::EF_LEFT_MOUSE_BUTTON)
210 modifiers |= WebKit::WebInputEvent::LeftButtonDown;
211 if (flags & ui::EF_MIDDLE_MOUSE_BUTTON)
212 modifiers |= WebKit::WebInputEvent::MiddleButtonDown;
213 if (flags & ui::EF_RIGHT_MOUSE_BUTTON)
214 modifiers |= WebKit::WebInputEvent::RightButtonDown;
215 if (flags & ui::EF_CAPS_LOCK_DOWN)
216 modifiers |= WebKit::WebInputEvent::CapsLockOn;
217 return modifiers;
218 }
219
220 WebKit::WebMouseEvent MakeWebMouseEventFromAuraEvent(ui::MouseEvent* event) { 188 WebKit::WebMouseEvent MakeWebMouseEventFromAuraEvent(ui::MouseEvent* event) {
221 WebKit::WebMouseEvent webkit_event; 189 WebKit::WebMouseEvent webkit_event;
222 190
223 webkit_event.modifiers = EventFlagsToWebEventModifiers(event->flags()); 191 webkit_event.modifiers = EventFlagsToWebEventModifiers(event->flags());
224 webkit_event.timeStampSeconds = event->time_stamp().InSecondsF(); 192 webkit_event.timeStampSeconds = event->time_stamp().InSecondsF();
225 193
226 webkit_event.button = WebKit::WebMouseEvent::ButtonNone; 194 webkit_event.button = WebKit::WebMouseEvent::ButtonNone;
227 if (event->flags() & ui::EF_LEFT_MOUSE_BUTTON) 195 if (event->flags() & ui::EF_LEFT_MOUSE_BUTTON)
228 webkit_event.button = WebKit::WebMouseEvent::ButtonLeft; 196 webkit_event.button = WebKit::WebMouseEvent::ButtonLeft;
229 if (event->flags() & ui::EF_MIDDLE_MOUSE_BUTTON) 197 if (event->flags() & ui::EF_MIDDLE_MOUSE_BUTTON)
(...skipping 17 matching lines...) Expand all
247 break; 215 break;
248 default: 216 default:
249 NOTIMPLEMENTED() << "Received unexpected event: " << event->type(); 217 NOTIMPLEMENTED() << "Received unexpected event: " << event->type();
250 break; 218 break;
251 } 219 }
252 220
253 return webkit_event; 221 return webkit_event;
254 } 222 }
255 223
256 } // namespace content 224 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/web_input_event_aura.h ('k') | content/browser/renderer_host/web_input_event_aurawin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698