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

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

Issue 1975533002: Change ui::Event::time_stamp from TimeDelta to TimeTicks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 7 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 "build/build_config.h" 7 #include "build/build_config.h"
8 #include "content/browser/renderer_host/input/web_input_event_util.h" 8 #include "content/browser/renderer_host/input/web_input_event_util.h"
9 #include "content/browser/renderer_host/ui_events_helper.h" 9 #include "content/browser/renderer_host/ui_events_helper.h"
10 #include "ui/aura/client/screen_position_client.h" 10 #include "ui/aura/client/screen_position_client.h"
11 #include "ui/aura/window.h" 11 #include "ui/aura/window.h"
12 #include "ui/events/base_event_utils.h"
12 #include "ui/events/blink/blink_event_util.h" 13 #include "ui/events/blink/blink_event_util.h"
13 #include "ui/events/event.h" 14 #include "ui/events/event.h"
14 #include "ui/events/event_utils.h" 15 #include "ui/events/event_utils.h"
15 #include "ui/events/keycodes/dom/keycode_converter.h" 16 #include "ui/events/keycodes/dom/keycode_converter.h"
16 #include "ui/events/keycodes/keyboard_code_conversion.h" 17 #include "ui/events/keycodes/keyboard_code_conversion.h"
17 18
18 namespace content { 19 namespace content {
19 20
20 namespace { 21 namespace {
21 22
(...skipping 27 matching lines...) Expand all
49 } 50 }
50 NOTREACHED() << "Unexpected EventPointerType"; 51 NOTREACHED() << "Unexpected EventPointerType";
51 return blink::WebPointerProperties::PointerType::Unknown; 52 return blink::WebPointerProperties::PointerType::Unknown;
52 } 53 }
53 54
54 } // namespace 55 } // namespace
55 56
56 #if defined(OS_WIN) 57 #if defined(OS_WIN)
57 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( 58 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent(
58 const base::NativeEvent& native_event, 59 const base::NativeEvent& native_event,
59 const base::TimeDelta& time_stamp); 60 const base::TimeTicks& time_stamp);
60 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( 61 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent(
61 const base::NativeEvent& native_event, 62 const base::NativeEvent& native_event,
62 const base::TimeDelta& time_stamp); 63 const base::TimeTicks& time_stamp);
63 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( 64 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent(
64 const base::NativeEvent& native_event, 65 const base::NativeEvent& native_event,
65 const base::TimeDelta& time_stamp); 66 const base::TimeTicks& time_stamp);
66 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent( 67 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent(
67 const base::NativeEvent& native_event, 68 const base::NativeEvent& native_event,
68 const base::TimeDelta& time_stamp); 69 const base::TimeTicks& time_stamp);
69 #endif 70 #endif
70 71
71 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( 72 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent(
72 const ui::KeyEvent& event) { 73 const ui::KeyEvent& event) {
73 blink::WebKeyboardEvent webkit_event; 74 blink::WebKeyboardEvent webkit_event;
74 75
75 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 76 webkit_event.timeStampSeconds =
77 ui::EventTimeStampToSeconds(event.time_stamp());
76 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()) | 78 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()) |
77 DomCodeToWebInputEventModifiers(event.code()); 79 DomCodeToWebInputEventModifiers(event.code());
78 80
79 switch (event.type()) { 81 switch (event.type()) {
80 case ui::ET_KEY_PRESSED: 82 case ui::ET_KEY_PRESSED:
81 webkit_event.type = event.is_char() ? blink::WebInputEvent::Char : 83 webkit_event.type = event.is_char() ? blink::WebInputEvent::Char :
82 blink::WebInputEvent::RawKeyDown; 84 blink::WebInputEvent::RawKeyDown;
83 break; 85 break;
84 case ui::ET_KEY_RELEASED: 86 case ui::ET_KEY_RELEASED:
85 webkit_event.type = blink::WebInputEvent::KeyUp; 87 webkit_event.type = blink::WebInputEvent::KeyUp;
(...skipping 22 matching lines...) Expand all
108 return webkit_event; 110 return webkit_event;
109 } 111 }
110 112
111 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 113 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
112 const ui::ScrollEvent& event) { 114 const ui::ScrollEvent& event) {
113 blink::WebMouseWheelEvent webkit_event; 115 blink::WebMouseWheelEvent webkit_event;
114 116
115 webkit_event.type = blink::WebInputEvent::MouseWheel; 117 webkit_event.type = blink::WebInputEvent::MouseWheel;
116 webkit_event.button = blink::WebMouseEvent::ButtonNone; 118 webkit_event.button = blink::WebMouseEvent::ButtonNone;
117 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()); 119 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
118 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 120 webkit_event.timeStampSeconds =
121 ui::EventTimeStampToSeconds(event.time_stamp());
119 webkit_event.hasPreciseScrollingDeltas = true; 122 webkit_event.hasPreciseScrollingDeltas = true;
120 123
121 float offset_ordinal_x = 0.f; 124 float offset_ordinal_x = 0.f;
122 float offset_ordinal_y = 0.f; 125 float offset_ordinal_y = 0.f;
123 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { 126 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) {
124 webkit_event.deltaX = event.y_offset(); 127 webkit_event.deltaX = event.y_offset();
125 webkit_event.deltaY = 0; 128 webkit_event.deltaY = 0;
126 offset_ordinal_x = event.y_offset_ordinal(); 129 offset_ordinal_x = event.y_offset_ordinal();
127 offset_ordinal_y = event.x_offset_ordinal(); 130 offset_ordinal_y = event.x_offset_ordinal();
128 } else { 131 } else {
(...skipping 27 matching lines...) Expand all
156 break; 159 break;
157 case ui::ET_SCROLL: 160 case ui::ET_SCROLL:
158 NOTREACHED() << "Invalid gesture type: " << event.type(); 161 NOTREACHED() << "Invalid gesture type: " << event.type();
159 break; 162 break;
160 default: 163 default:
161 NOTREACHED() << "Unknown gesture type: " << event.type(); 164 NOTREACHED() << "Unknown gesture type: " << event.type();
162 } 165 }
163 166
164 webkit_event.sourceDevice = blink::WebGestureDeviceTouchpad; 167 webkit_event.sourceDevice = blink::WebGestureDeviceTouchpad;
165 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()); 168 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
166 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 169 webkit_event.timeStampSeconds =
170 ui::EventTimeStampToSeconds(event.time_stamp());
167 return webkit_event; 171 return webkit_event;
168 } 172 }
169 173
170 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent( 174 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent(
171 const ui::MouseEvent& event); 175 const ui::MouseEvent& event);
172 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 176 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
173 const ui::MouseWheelEvent& event); 177 const ui::MouseWheelEvent& event);
174 178
175 // General approach: 179 // General approach:
176 // 180 //
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 gesture_event.globalY = screen_point.y(); 348 gesture_event.globalY = screen_point.y();
345 349
346 return gesture_event; 350 return gesture_event;
347 } 351 }
348 352
349 blink::WebGestureEvent MakeWebGestureEventFlingCancel() { 353 blink::WebGestureEvent MakeWebGestureEventFlingCancel() {
350 blink::WebGestureEvent gesture_event; 354 blink::WebGestureEvent gesture_event;
351 355
352 // All other fields are ignored on a GestureFlingCancel event. 356 // All other fields are ignored on a GestureFlingCancel event.
353 gesture_event.type = blink::WebInputEvent::GestureFlingCancel; 357 gesture_event.type = blink::WebInputEvent::GestureFlingCancel;
354 gesture_event.timeStampSeconds = ui::EventTimeForNow().InSecondsF(); 358 gesture_event.timeStampSeconds =
359 ui::EventTimeStampToSeconds(ui::EventTimeForNow());
355 gesture_event.sourceDevice = blink::WebGestureDeviceTouchpad; 360 gesture_event.sourceDevice = blink::WebGestureDeviceTouchpad;
356 return gesture_event; 361 return gesture_event;
357 } 362 }
358 363
359 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent( 364 blink::WebMouseEvent MakeWebMouseEventFromAuraEvent(
360 const ui::MouseEvent& event) { 365 const ui::MouseEvent& event) {
361 blink::WebMouseEvent webkit_event; 366 blink::WebMouseEvent webkit_event;
362 367
363 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()); 368 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
364 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 369 webkit_event.timeStampSeconds =
365 370 ui::EventTimeStampToSeconds(event.time_stamp());
366 webkit_event.button = blink::WebMouseEvent::ButtonNone; 371 webkit_event.button = blink::WebMouseEvent::ButtonNone;
367 int button_flags = event.flags(); 372 int button_flags = event.flags();
368 if (event.type() == ui::ET_MOUSE_PRESSED || 373 if (event.type() == ui::ET_MOUSE_PRESSED ||
369 event.type() == ui::ET_MOUSE_RELEASED) { 374 event.type() == ui::ET_MOUSE_RELEASED) {
370 // We want to use changed_button_flags() for mouse pressed & released. 375 // We want to use changed_button_flags() for mouse pressed & released.
371 // These flags can be used only if they are set which is not always the case 376 // These flags can be used only if they are set which is not always the case
372 // (see e.g. GetChangedMouseButtonFlagsFromNative() in events_win.cc). 377 // (see e.g. GetChangedMouseButtonFlagsFromNative() in events_win.cc).
373 if (event.changed_button_flags()) 378 if (event.changed_button_flags())
374 button_flags = event.changed_button_flags(); 379 button_flags = event.changed_button_flags();
375 } 380 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 return webkit_event; 414 return webkit_event;
410 } 415 }
411 416
412 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( 417 blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent(
413 const ui::MouseWheelEvent& event) { 418 const ui::MouseWheelEvent& event) {
414 blink::WebMouseWheelEvent webkit_event; 419 blink::WebMouseWheelEvent webkit_event;
415 420
416 webkit_event.type = blink::WebInputEvent::MouseWheel; 421 webkit_event.type = blink::WebInputEvent::MouseWheel;
417 webkit_event.button = blink::WebMouseEvent::ButtonNone; 422 webkit_event.button = blink::WebMouseEvent::ButtonNone;
418 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags()); 423 webkit_event.modifiers = ui::EventFlagsToWebEventModifiers(event.flags());
419 webkit_event.timeStampSeconds = event.time_stamp().InSecondsF(); 424 webkit_event.timeStampSeconds =
425 ui::EventTimeStampToSeconds(event.time_stamp());
420 426
421 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { 427 if ((event.flags() & ui::EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) {
422 webkit_event.deltaX = event.y_offset(); 428 webkit_event.deltaX = event.y_offset();
423 webkit_event.deltaY = 0; 429 webkit_event.deltaY = 0;
424 } else { 430 } else {
425 webkit_event.deltaX = event.x_offset(); 431 webkit_event.deltaX = event.x_offset();
426 webkit_event.deltaY = event.y_offset(); 432 webkit_event.deltaY = event.y_offset();
427 } 433 }
428 434
429 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick; 435 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick;
430 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick; 436 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick;
431 437
432 webkit_event.tiltX = roundf(event.pointer_details().tilt_x); 438 webkit_event.tiltX = roundf(event.pointer_details().tilt_x);
433 webkit_event.tiltY = roundf(event.pointer_details().tilt_y); 439 webkit_event.tiltY = roundf(event.pointer_details().tilt_y);
434 webkit_event.force = event.pointer_details().force; 440 webkit_event.force = event.pointer_details().force;
435 webkit_event.pointerType = 441 webkit_event.pointerType =
436 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); 442 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
437 443
438 return webkit_event; 444 return webkit_event;
439 } 445 }
440 446
441 } // namespace content 447 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698