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

Side by Side Diff: ui/events/blink/blink_event_util.cc

Issue 2925883003: [Touch Adjustment] Pass primary_pointer_type to WebGestureEvent and disable adjustment for stylus (Closed)
Patch Set: Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // MSVC++ requires this to be set before any other includes to get M_PI. 5 // MSVC++ requires this to be set before any other includes to get M_PI.
6 #define _USE_MATH_DEFINES 6 #define _USE_MATH_DEFINES
7 7
8 #include "ui/events/blink/blink_event_util.h" 8 #include "ui/events/blink/blink_event_util.h"
9 9
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 return WebPointerProperties::PointerType::kPen; 112 return WebPointerProperties::PointerType::kPen;
113 case MotionEvent::TOOL_TYPE_MOUSE: 113 case MotionEvent::TOOL_TYPE_MOUSE:
114 return WebPointerProperties::PointerType::kMouse; 114 return WebPointerProperties::PointerType::kMouse;
115 case MotionEvent::TOOL_TYPE_ERASER: 115 case MotionEvent::TOOL_TYPE_ERASER:
116 return WebPointerProperties::PointerType::kEraser; 116 return WebPointerProperties::PointerType::kEraser;
117 } 117 }
118 NOTREACHED() << "Invalid MotionEvent::ToolType = " << tool_type; 118 NOTREACHED() << "Invalid MotionEvent::ToolType = " << tool_type;
119 return WebPointerProperties::PointerType::kUnknown; 119 return WebPointerProperties::PointerType::kUnknown;
120 } 120 }
121 121
122 WebPointerProperties::PointerType ToWebPointerType(
123 EventPointerType event_pointer_type) {
124 switch (event_pointer_type) {
125 case EventPointerType::POINTER_TYPE_UNKNOWN:
126 return WebPointerProperties::PointerType::kUnknown;
127 case EventPointerType::POINTER_TYPE_MOUSE:
128 return WebPointerProperties::PointerType::kMouse;
129 case EventPointerType::POINTER_TYPE_PEN:
130 return WebPointerProperties::PointerType::kPen;
131 case EventPointerType::POINTER_TYPE_TOUCH:
132 return WebPointerProperties::PointerType::kTouch;
133 case EventPointerType::POINTER_TYPE_ERASER:
134 return WebPointerProperties::PointerType::kEraser;
135 default:
136 NOTREACHED() << "Invalid EventPointerType = "
137 << static_cast<int>(event_pointer_type);
138 return WebPointerProperties::PointerType::kUnknown;
139 }
140 }
141
122 WebPointerProperties::Button ToWebPointerButton(int android_button_state) { 142 WebPointerProperties::Button ToWebPointerButton(int android_button_state) {
123 if (android_button_state & MotionEvent::BUTTON_PRIMARY) 143 if (android_button_state & MotionEvent::BUTTON_PRIMARY)
124 return WebPointerProperties::Button::kLeft; 144 return WebPointerProperties::Button::kLeft;
125 else if (android_button_state & MotionEvent::BUTTON_SECONDARY) 145 else if (android_button_state & MotionEvent::BUTTON_SECONDARY)
126 return WebPointerProperties::Button::kRight; 146 return WebPointerProperties::Button::kRight;
127 else if (android_button_state & MotionEvent::BUTTON_TERTIARY) 147 else if (android_button_state & MotionEvent::BUTTON_TERTIARY)
128 return WebPointerProperties::Button::kMiddle; 148 return WebPointerProperties::Button::kMiddle;
129 else if (android_button_state & MotionEvent::BUTTON_BACK) 149 else if (android_button_state & MotionEvent::BUTTON_BACK)
130 return WebPointerProperties::Button::kBack; 150 return WebPointerProperties::Button::kBack;
131 else if (android_button_state & MotionEvent::BUTTON_FORWARD) 151 else if (android_button_state & MotionEvent::BUTTON_FORWARD)
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 DCHECK(IsContinuousGestureEvent(new_event.GetType())); 511 DCHECK(IsContinuousGestureEvent(new_event.GetType()));
492 DCHECK(IsCompatibleScrollorPinch(new_event, last_event)); 512 DCHECK(IsCompatibleScrollorPinch(new_event, last_event));
493 DCHECK(!second_last_event || 513 DCHECK(!second_last_event ||
494 IsCompatibleScrollorPinch(new_event, *second_last_event)); 514 IsCompatibleScrollorPinch(new_event, *second_last_event));
495 515
496 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate, 516 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate,
497 new_event.GetModifiers(), 517 new_event.GetModifiers(),
498 new_event.TimeStampSeconds()); 518 new_event.TimeStampSeconds());
499 WebGestureEvent pinch_event; 519 WebGestureEvent pinch_event;
500 scroll_event.source_device = new_event.source_device; 520 scroll_event.source_device = new_event.source_device;
521 scroll_event.primary_pointer_type = new_event.primary_pointer_type;
501 pinch_event = scroll_event; 522 pinch_event = scroll_event;
502 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); 523 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate);
503 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate 524 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate
504 ? new_event.x 525 ? new_event.x
505 : last_event.x; 526 : last_event.x;
506 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate 527 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate
507 ? new_event.y 528 ? new_event.y
508 : last_event.y; 529 : last_event.y;
509 530
510 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event); 531 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event);
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 break; 641 break;
621 case GestureDeviceType::DEVICE_TOUCHPAD: 642 case GestureDeviceType::DEVICE_TOUCHPAD:
622 gesture.source_device = blink::kWebGestureDeviceTouchpad; 643 gesture.source_device = blink::kWebGestureDeviceTouchpad;
623 break; 644 break;
624 case GestureDeviceType::DEVICE_UNKNOWN: 645 case GestureDeviceType::DEVICE_UNKNOWN:
625 NOTREACHED() << "Unknown device type is not allowed"; 646 NOTREACHED() << "Unknown device type is not allowed";
626 gesture.source_device = blink::kWebGestureDeviceUninitialized; 647 gesture.source_device = blink::kWebGestureDeviceUninitialized;
627 break; 648 break;
628 } 649 }
629 650
651 gesture.primary_pointer_type =
652 ToWebPointerType(details.primary_pointer_type());
630 gesture.unique_touch_event_id = unique_touch_event_id; 653 gesture.unique_touch_event_id = unique_touch_event_id;
631 654
632 switch (details.type()) { 655 switch (details.type()) {
633 case ET_GESTURE_SHOW_PRESS: 656 case ET_GESTURE_SHOW_PRESS:
634 gesture.SetType(WebInputEvent::kGestureShowPress); 657 gesture.SetType(WebInputEvent::kGestureShowPress);
635 gesture.data.show_press.width = details.bounding_box_f().width(); 658 gesture.data.show_press.width = details.bounding_box_f().width();
636 gesture.data.show_press.height = details.bounding_box_f().height(); 659 gesture.data.show_press.height = details.bounding_box_f().height();
637 break; 660 break;
638 case ET_GESTURE_DOUBLE_TAP: 661 case ET_GESTURE_DOUBLE_TAP:
639 gesture.SetType(WebInputEvent::kGestureDoubleTap); 662 gesture.SetType(WebInputEvent::kGestureDoubleTap);
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
983 switch (type) { 1006 switch (type) {
984 case blink::WebGestureEvent::kGestureScrollUpdate: 1007 case blink::WebGestureEvent::kGestureScrollUpdate:
985 case blink::WebGestureEvent::kGesturePinchUpdate: 1008 case blink::WebGestureEvent::kGesturePinchUpdate:
986 return true; 1009 return true;
987 default: 1010 default:
988 return false; 1011 return false;
989 } 1012 }
990 } 1013 }
991 1014
992 } // namespace ui 1015 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698