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

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

Issue 1034713004: Refactors gesture conversion functions to ui/events/blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix M_PI usage for windows Created 5 years, 9 months 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
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/input/web_input_event_util.h" 7 #include "content/browser/renderer_host/input/web_input_event_util.h"
8 #include "content/browser/renderer_host/ui_events_helper.h" 8 #include "content/browser/renderer_host/ui_events_helper.h"
9 #include "ui/aura/client/screen_position_client.h" 9 #include "ui/aura/client/screen_position_client.h"
10 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
11 #include "ui/events/blink/blink_event_util.h"
11 #include "ui/events/event.h" 12 #include "ui/events/event.h"
12 #include "ui/events/event_utils.h" 13 #include "ui/events/event_utils.h"
13 #include "ui/events/keycodes/dom4/keycode_converter.h" 14 #include "ui/events/keycodes/dom4/keycode_converter.h"
14 15
15 namespace content { 16 namespace content {
16 17
17 namespace { 18 namespace {
18 19
19 gfx::Point GetScreenLocationFromEvent(const ui::LocatedEvent& event) { 20 gfx::Point GetScreenLocationFromEvent(const ui::LocatedEvent& event) {
20 if (!event.target()) 21 if (!event.target())
(...skipping 22 matching lines...) Expand all
43 const base::NativeEvent& native_event); 44 const base::NativeEvent& native_event);
44 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent( 45 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent(
45 const base::NativeEvent& native_event); 46 const base::NativeEvent& native_event);
46 #endif 47 #endif
47 48
48 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( 49 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent(
49 const ui::KeyEvent& event) { 50 const ui::KeyEvent& event) {
50 blink::WebKeyboardEvent webkit_event; 51 blink::WebKeyboardEvent webkit_event;
51 52
52 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 53 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF();
53 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 54 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
54 55
55 switch (event.type()) { 56 switch (event.type()) {
56 case ui::ET_KEY_PRESSED: 57 case ui::ET_KEY_PRESSED:
57 webkit_event.type = event.is_char() ? blink::WebInputEvent::Char : 58 webkit_event.type = event.is_char() ? blink::WebInputEvent::Char :
58 blink::WebInputEvent::RawKeyDown; 59 blink::WebInputEvent::RawKeyDown;
59 break; 60 break;
60 case ui::ET_KEY_RELEASED: 61 case ui::ET_KEY_RELEASED:
61 webkit_event.type = blink::WebInputEvent::KeyUp; 62 webkit_event.type = blink::WebInputEvent::KeyUp;
62 break; 63 break;
63 default: 64 default:
(...skipping 14 matching lines...) Expand all
78 79
79 return webkit_event; 80 return webkit_event;
80 } 81 }
81 82
82 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 83 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
83 const ui::ScrollEvent& event) { 84 const ui::ScrollEvent& event) {
84 blink::WebMouseWheelEvent webkit_event; 85 blink::WebMouseWheelEvent webkit_event;
85 86
86 webkit_event.type = blink::WebInputEvent::MouseWheel; 87 webkit_event.type = blink::WebInputEvent::MouseWheel;
87 webkit_event.button = blink::WebMouseEvent::ButtonNone; 88 webkit_event.button = blink::WebMouseEvent::ButtonNone;
88 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 89 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
89 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 90 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF();
90 webkit_event.hasPreciseScrollingDeltas = true; 91 webkit_event.hasPreciseScrollingDeltas = true;
91 92
92 float offset_ordinal_x = 0.f; 93 float offset_ordinal_x = 0.f;
93 float offset_ordinal_y = 0.f; 94 float offset_ordinal_y = 0.f;
94 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { 95 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) {
95 webkit_event.deltaX = event.y_offset(); 96 webkit_event.deltaX = event.y_offset();
96 webkit_event.deltaY = 0; 97 webkit_event.deltaY = 0;
97 offset_ordinal_x = event.y_offset_ordinal(); 98 offset_ordinal_x = event.y_offset_ordinal();
98 offset_ordinal_y = event.x_offset_ordinal(); 99 offset_ordinal_y = event.x_offset_ordinal();
(...skipping 27 matching lines...) Expand all
126 webkit_event.type = blink::WebInputEvent::GestureFlingCancel; 127 webkit_event.type = blink::WebInputEvent::GestureFlingCancel;
127 break; 128 break;
128 case ui::ET_SCROLL: 129 case ui::ET_SCROLL:
129 NOTREACHED() << "Invalid gesture type: " << event.type(); 130 NOTREACHED() << "Invalid gesture type: " << event.type();
130 break; 131 break;
131 default: 132 default:
132 NOTREACHED() << "Unknown gesture type: " << event.type(); 133 NOTREACHED() << "Unknown gesture type: " << event.type();
133 } 134 }
134 135
135 webkit_event.sourceDevice = blink::WebGestureDeviceTouchpad; 136 webkit_event.sourceDevice = blink::WebGestureDeviceTouchpad;
136 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 137 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
137 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 138 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF();
138 return webkit_event; 139 return webkit_event;
139 } 140 }
140 141
141 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent( 142 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent(
142 const ui::MouseEvent& event); 143 const ui::MouseEvent& event);
143 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 144 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
144 const ui::MouseWheelEvent& event); 145 const ui::MouseWheelEvent& event);
145 146
146 // General approach: 147 // General approach:
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 // All other fields are ignored on a GestureFlingCancel event. 312 // All other fields are ignored on a GestureFlingCancel event.
312 gesture_event.type = blink::WebInputEvent::GestureFlingCancel; 313 gesture_event.type = blink::WebInputEvent::GestureFlingCancel;
313 gesture_event.sourceDevice = blink::WebGestureDeviceTouchpad; 314 gesture_event.sourceDevice = blink::WebGestureDeviceTouchpad;
314 return gesture_event; 315 return gesture_event;
315 } 316 }
316 317
317 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent( 318 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent(
318 const ui::MouseEvent& event) { 319 const ui::MouseEvent& event) {
319 blink::WebMouseEvent webkit_event; 320 blink::WebMouseEvent webkit_event;
320 321
321 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 322 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
322 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 323 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF();
323 324
324 webkit_event.button = blink::WebMouseEvent::ButtonNone; 325 webkit_event.button = blink::WebMouseEvent::ButtonNone;
325 int button_flags = event.flags(); 326 int button_flags = event.flags();
326 if (event.type() == ui::ET_MOUSE_PRESSED || 327 if (event.type() == ui::ET_MOUSE_PRESSED ||
327 event.type() == ui::ET_MOUSE_RELEASED) { 328 event.type() == ui::ET_MOUSE_RELEASED) {
328 // We want to use changed_button_flags() for mouse pressed & released. 329 // We want to use changed_button_flags() for mouse pressed & released.
329 // These flags can be used only if they are set which is not always the case 330 // These flags can be used only if they are set which is not always the case
330 // (see e.g. GetChangedMouseButtonFlagsFromNative() in events_win.cc). 331 // (see e.g. GetChangedMouseButtonFlagsFromNative() in events_win.cc).
331 if (event.changed_button_flags()) 332 if (event.changed_button_flags())
(...skipping 28 matching lines...) Expand all
360 361
361 return webkit_event; 362 return webkit_event;
362 } 363 }
363 364
364 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 365 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
365 const ui::MouseWheelEvent& event) { 366 const ui::MouseWheelEvent& event) {
366 blink::WebMouseWheelEvent webkit_event; 367 blink::WebMouseWheelEvent webkit_event;
367 368
368 webkit_event.type = blink::WebInputEvent::MouseWheel; 369 webkit_event.type = blink::WebInputEvent::MouseWheel;
369 webkit_event.button = blink::WebMouseEvent::ButtonNone; 370 webkit_event.button = blink::WebMouseEvent::ButtonNone;
370 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 371 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
371 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 372 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF();
372 373
373 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { 374 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) {
374 webkit_event.deltaX = event.y_offset(); 375 webkit_event.deltaX = event.y_offset();
375 webkit_event.deltaY = 0; 376 webkit_event.deltaY = 0;
376 } else { 377 } else {
377 webkit_event.deltaX = event.x_offset(); 378 webkit_event.deltaX = event.x_offset();
378 webkit_event.deltaY = event.y_offset(); 379 webkit_event.deltaY = event.y_offset();
379 } 380 }
380 381
381 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick; 382 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick;
382 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick; 383 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick;
383 384
384 return webkit_event; 385 return webkit_event;
385 } 386 }
386 387
387 } // namespace content 388 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698