| Index: ui/events/blink/blink_event_util.cc | 
| diff --git a/ui/events/blink/blink_event_util.cc b/ui/events/blink/blink_event_util.cc | 
| index 2225d933b756fae0f7480fe860a7809dfc00a576..1c2c1312ed26223030713ad0ea8bda442169ef90 100644 | 
| --- a/ui/events/blink/blink_event_util.cc | 
| +++ b/ui/events/blink/blink_event_util.cc | 
| @@ -119,6 +119,26 @@ WebPointerProperties::PointerType ToWebPointerType(int tool_type) { | 
| return WebPointerProperties::PointerType::kUnknown; | 
| } | 
|  | 
| +WebPointerProperties::PointerType ToWebPointerType( | 
| +    EventPointerType event_pointer_type) { | 
| +  switch (event_pointer_type) { | 
| +    case EventPointerType::POINTER_TYPE_UNKNOWN: | 
| +      return WebPointerProperties::PointerType::kUnknown; | 
| +    case EventPointerType::POINTER_TYPE_MOUSE: | 
| +      return WebPointerProperties::PointerType::kMouse; | 
| +    case EventPointerType::POINTER_TYPE_PEN: | 
| +      return WebPointerProperties::PointerType::kPen; | 
| +    case EventPointerType::POINTER_TYPE_TOUCH: | 
| +      return WebPointerProperties::PointerType::kTouch; | 
| +    case EventPointerType::POINTER_TYPE_ERASER: | 
| +      return WebPointerProperties::PointerType::kEraser; | 
| +    default: | 
| +      NOTREACHED() << "Invalid EventPointerType = " | 
| +                   << static_cast<int>(event_pointer_type); | 
| +      return WebPointerProperties::PointerType::kUnknown; | 
| +  } | 
| +} | 
| + | 
| WebPointerProperties::Button ToWebPointerButton(int android_button_state) { | 
| if (android_button_state & MotionEvent::BUTTON_PRIMARY) | 
| return WebPointerProperties::Button::kLeft; | 
| @@ -501,6 +521,7 @@ std::pair<WebGestureEvent, WebGestureEvent> CoalesceScrollAndPinch( | 
| new_event.TimeStampSeconds()); | 
| WebGestureEvent pinch_event; | 
| scroll_event.source_device = new_event.source_device; | 
| +  scroll_event.primary_pointer_type = new_event.primary_pointer_type; | 
| pinch_event = scroll_event; | 
| pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); | 
| pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate | 
| @@ -632,7 +653,8 @@ WebGestureEvent CreateWebGestureEvent(const GestureEventDetails& details, | 
|  | 
| gesture.is_source_touch_event_set_non_blocking = | 
| details.is_source_touch_event_set_non_blocking(); | 
| - | 
| +  gesture.primary_pointer_type = | 
| +      ToWebPointerType(details.primary_pointer_type()); | 
| gesture.unique_touch_event_id = unique_touch_event_id; | 
|  | 
| switch (details.type()) { | 
|  |