Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ui/events/blink/web_input_event.h" | 5 #include "ui/events/blink/web_input_event.h" |
| 6 | 6 |
| 7 #include "ui/events/base_event_utils.h" | 7 #include "ui/events/base_event_utils.h" |
| 8 #include "ui/events/blink/blink_event_util.h" | 8 #include "ui/events/blink/blink_event_util.h" |
| 9 #include "ui/events/event.h" | 9 #include "ui/events/event.h" |
| 10 #include "ui/events/event_utils.h" | 10 #include "ui/events/event_utils.h" |
| 11 #include "ui/events/keycodes/dom/keycode_converter.h" | 11 #include "ui/events/keycodes/dom/keycode_converter.h" |
| 12 #include "ui/events/keycodes/keyboard_code_conversion.h" | 12 #include "ui/events/keycodes/keyboard_code_conversion.h" |
| 13 | 13 |
| 14 #if defined(OS_WIN) | 14 #if defined(OS_WIN) |
| 15 #include "ui/events/blink/web_input_event_builders_win.h" | 15 #include "ui/events/blink/web_input_event_builders_win.h" |
| 16 #endif | 16 #endif |
| 17 | 17 |
| 18 namespace ui { | 18 namespace ui { |
| 19 | 19 |
| 20 namespace { | 20 namespace { |
| 21 // Used for scrolling. This matches Firefox behavior. | |
| 22 const int kPixelsPerTick = 53; | |
| 23 | 21 |
| 24 gfx::Point GetScreenLocationFromEvent( | 22 gfx::Point GetScreenLocationFromEvent( |
| 25 const LocatedEvent& event, | 23 const LocatedEvent& event, |
| 26 const base::Callback<gfx::Point(const LocatedEvent& event)>& | 24 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 27 screen_location_callback) { | 25 screen_location_callback) { |
| 28 DCHECK(!screen_location_callback.is_null()); | 26 DCHECK(!screen_location_callback.is_null()); |
| 29 return event.target() ? screen_location_callback.Run(event) | 27 return event.target() ? screen_location_callback.Run(event) |
| 30 : event.root_location(); | 28 : event.root_location(); |
| 31 } | 29 } |
| 32 | 30 |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 59 } // namespace | 57 } // namespace |
| 60 | 58 |
| 61 #if defined(OS_WIN) | 59 #if defined(OS_WIN) |
| 62 // On Windows, we can just use the builtin WebKit factory methods to fully | 60 // On Windows, we can just use the builtin WebKit factory methods to fully |
| 63 // construct our pre-translated events. | 61 // construct our pre-translated events. |
| 64 | 62 |
| 65 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( | 63 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( |
| 66 const base::NativeEvent& native_event, | 64 const base::NativeEvent& native_event, |
| 67 const base::TimeTicks& time_stamp, | 65 const base::TimeTicks& time_stamp, |
| 68 blink::WebPointerProperties::PointerType pointer_type) { | 66 blink::WebPointerProperties::PointerType pointer_type) { |
| 69 return WebMouseEventBuilder::Build(native_event.hwnd, native_event.message, | 67 return WebMouseEventBuilder::Build( |
| 70 native_event.wParam, native_event.lParam, | 68 native_event.hwnd, native_event.message, native_event.wParam, |
| 71 ui::EventTimeStampToSeconds(time_stamp), | 69 native_event.lParam, EventTimeStampToSeconds(time_stamp), pointer_type); |
| 72 pointer_type); | |
| 73 } | 70 } |
| 74 | 71 |
| 75 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( | 72 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( |
| 76 const base::NativeEvent& native_event, | 73 const base::NativeEvent& native_event, |
| 77 const base::TimeTicks& time_stamp, | 74 const base::TimeTicks& time_stamp, |
| 78 blink::WebPointerProperties::PointerType pointer_type) { | 75 blink::WebPointerProperties::PointerType pointer_type) { |
| 79 return WebMouseWheelEventBuilder::Build( | 76 return WebMouseWheelEventBuilder::Build( |
| 80 native_event.hwnd, native_event.message, native_event.wParam, | 77 native_event.hwnd, native_event.message, native_event.wParam, |
| 81 native_event.lParam, ui::EventTimeStampToSeconds(time_stamp), | 78 native_event.lParam, EventTimeStampToSeconds(time_stamp), pointer_type); |
| 82 pointer_type); | |
| 83 } | 79 } |
| 84 | 80 |
| 85 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( | 81 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( |
| 86 const base::NativeEvent& native_event, | 82 const base::NativeEvent& native_event, |
| 87 const base::TimeTicks& time_stamp) { | 83 const base::TimeTicks& time_stamp) { |
| 88 return WebKeyboardEventBuilder::Build( | 84 return WebKeyboardEventBuilder::Build( |
| 89 native_event.hwnd, native_event.message, native_event.wParam, | 85 native_event.hwnd, native_event.message, native_event.wParam, |
| 90 native_event.lParam, ui::EventTimeStampToSeconds(time_stamp)); | 86 native_event.lParam, EventTimeStampToSeconds(time_stamp)); |
| 91 } | 87 } |
| 92 #endif // defined(OS_WIN) | 88 #endif // defined(OS_WIN) |
| 93 | 89 |
| 94 blink::WebKeyboardEvent MakeWebKeyboardEventFromUiEvent(const KeyEvent& event) { | 90 blink::WebKeyboardEvent MakeWebKeyboardEventFromUiEvent(const KeyEvent& event) { |
| 95 blink::WebKeyboardEvent webkit_event; | 91 blink::WebKeyboardEvent webkit_event; |
| 96 | 92 |
| 97 webkit_event.timeStampSeconds = EventTimeStampToSeconds(event.time_stamp()); | 93 webkit_event.timeStampSeconds = EventTimeStampToSeconds(event.time_stamp()); |
| 98 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()) | | 94 webkit_event.modifiers = EventFlagsToWebEventModifiers(event.flags()) | |
| 99 DomCodeToWebInputEventModifiers(event.code()); | 95 DomCodeToWebInputEventModifiers(event.code()); |
| 100 | 96 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 147 offset_ordinal_y = event.x_offset_ordinal(); | 143 offset_ordinal_y = event.x_offset_ordinal(); |
| 148 } else { | 144 } else { |
| 149 webkit_event.deltaX = event.x_offset(); | 145 webkit_event.deltaX = event.x_offset(); |
| 150 webkit_event.deltaY = event.y_offset(); | 146 webkit_event.deltaY = event.y_offset(); |
| 151 offset_ordinal_x = event.x_offset_ordinal(); | 147 offset_ordinal_x = event.x_offset_ordinal(); |
| 152 offset_ordinal_y = event.y_offset_ordinal(); | 148 offset_ordinal_y = event.y_offset_ordinal(); |
| 153 } | 149 } |
| 154 | 150 |
| 155 if (offset_ordinal_x != 0.f && webkit_event.deltaX != 0.f) | 151 if (offset_ordinal_x != 0.f && webkit_event.deltaX != 0.f) |
| 156 webkit_event.accelerationRatioX = offset_ordinal_x / webkit_event.deltaX; | 152 webkit_event.accelerationRatioX = offset_ordinal_x / webkit_event.deltaX; |
| 157 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick; | 153 webkit_event.wheelTicksX = webkit_event.deltaX / MouseWheelEvent::kWheelDelta; |
| 158 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick; | 154 webkit_event.wheelTicksY = webkit_event.deltaY / MouseWheelEvent::kWheelDelta; |
| 159 if (offset_ordinal_y != 0.f && webkit_event.deltaY != 0.f) | 155 if (offset_ordinal_y != 0.f && webkit_event.deltaY != 0.f) |
| 160 webkit_event.accelerationRatioY = offset_ordinal_y / webkit_event.deltaY; | 156 webkit_event.accelerationRatioY = offset_ordinal_y / webkit_event.deltaY; |
| 161 | 157 |
| 162 webkit_event.pointerType = | 158 webkit_event.pointerType = |
| 163 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); | 159 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); |
| 164 return webkit_event; | 160 return webkit_event; |
| 165 } | 161 } |
| 166 | 162 |
| 167 blink::WebGestureEvent MakeWebGestureEventFromUiEvent( | 163 blink::WebGestureEvent MakeWebGestureEventFromUiEvent( |
| 168 const ScrollEvent& event) { | 164 const ScrollEvent& event) { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 213 // | 209 // |
| 214 // The exception is mouse events on linux. The MouseEvent contains enough | 210 // The exception is mouse events on linux. The MouseEvent contains enough |
| 215 // necessary information to construct a WebMouseEvent. So instead of extracting | 211 // necessary information to construct a WebMouseEvent. So instead of extracting |
| 216 // the information from the XEvent, which can be tricky when supporting both | 212 // the information from the XEvent, which can be tricky when supporting both |
| 217 // XInput2 and XInput, the WebMouseEvent is constructed from the | 213 // XInput2 and XInput, the WebMouseEvent is constructed from the |
| 218 // MouseEvent. This will not be necessary once only XInput2 is supported. | 214 // MouseEvent. This will not be necessary once only XInput2 is supported. |
| 219 // | 215 // |
| 220 | 216 |
| 221 blink::WebMouseEvent MakeWebMouseEvent( | 217 blink::WebMouseEvent MakeWebMouseEvent( |
| 222 const MouseEvent& event, | 218 const MouseEvent& event, |
| 223 const base::Callback<gfx::Point(const ui::LocatedEvent& event)>& | 219 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 224 screen_location_callback) { | 220 screen_location_callback) { |
| 225 // Construct an untranslated event from the platform event data. | 221 // Construct an untranslated event from the platform event data. |
| 226 blink::WebMouseEvent webkit_event = | 222 blink::WebMouseEvent webkit_event = |
| 227 #if defined(OS_WIN) | 223 #if defined(OS_WIN) |
| 228 // On Windows we have WM_ events comming from desktop and pure ui::Events | 224 // On Windows we have WM_ events comming from desktop and pure Events |
| 229 // comming from metro mode. | 225 // comming from metro mode. |
| 230 event.native_event().message && (event.type() != ET_MOUSE_EXITED) | 226 event.native_event().message && (event.type() != ET_MOUSE_EXITED) |
| 231 ? MakeUntranslatedWebMouseEventFromNativeEvent( | 227 ? MakeUntranslatedWebMouseEventFromNativeEvent( |
| 232 event.native_event(), event.time_stamp(), | 228 event.native_event(), event.time_stamp(), |
| 233 EventPointerTypeToWebPointerType( | 229 EventPointerTypeToWebPointerType( |
| 234 event.pointer_details().pointer_type)) | 230 event.pointer_details().pointer_type)) |
| 235 : MakeWebMouseEventFromUiEvent(event); | 231 : MakeWebMouseEventFromUiEvent(event); |
| 236 #else | 232 #else |
| 237 MakeWebMouseEventFromUiEvent(event); | 233 MakeWebMouseEventFromUiEvent(event); |
| 238 #endif | 234 #endif |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 249 const gfx::Point screen_point = | 245 const gfx::Point screen_point = |
| 250 GetScreenLocationFromEvent(event, screen_location_callback); | 246 GetScreenLocationFromEvent(event, screen_location_callback); |
| 251 webkit_event.globalX = screen_point.x(); | 247 webkit_event.globalX = screen_point.x(); |
| 252 webkit_event.globalY = screen_point.y(); | 248 webkit_event.globalY = screen_point.y(); |
| 253 | 249 |
| 254 return webkit_event; | 250 return webkit_event; |
| 255 } | 251 } |
| 256 | 252 |
| 257 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( | 253 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( |
| 258 const MouseWheelEvent& event, | 254 const MouseWheelEvent& event, |
| 259 const base::Callback<gfx::Point(const ui::LocatedEvent& event)>& | 255 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 260 screen_location_callback) { | 256 screen_location_callback) { |
| 261 #if defined(OS_WIN) | 257 #if defined(OS_WIN) |
| 262 // Construct an untranslated event from the platform event data. | 258 // Construct an untranslated event from the platform event data. |
| 263 blink::WebMouseWheelEvent webkit_event = | 259 blink::WebMouseWheelEvent webkit_event = |
| 264 event.native_event().message | 260 event.native_event().message |
| 265 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( | 261 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( |
| 266 event.native_event(), event.time_stamp(), | 262 event.native_event(), event.time_stamp(), |
| 267 EventPointerTypeToWebPointerType( | 263 EventPointerTypeToWebPointerType( |
| 268 event.pointer_details().pointer_type)) | 264 event.pointer_details().pointer_type)) |
| 269 : MakeWebMouseWheelEventFromUiEvent(event); | 265 : MakeWebMouseWheelEventFromUiEvent(event); |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 280 const gfx::Point screen_point = | 276 const gfx::Point screen_point = |
| 281 GetScreenLocationFromEvent(event, screen_location_callback); | 277 GetScreenLocationFromEvent(event, screen_location_callback); |
| 282 webkit_event.globalX = screen_point.x(); | 278 webkit_event.globalX = screen_point.x(); |
| 283 webkit_event.globalY = screen_point.y(); | 279 webkit_event.globalY = screen_point.y(); |
| 284 | 280 |
| 285 return webkit_event; | 281 return webkit_event; |
| 286 } | 282 } |
| 287 | 283 |
| 288 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( | 284 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( |
| 289 const ScrollEvent& event, | 285 const ScrollEvent& event, |
| 290 const base::Callback<gfx::Point(const ui::LocatedEvent& event)>& | 286 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 291 screen_location_callback) { | 287 screen_location_callback) { |
| 292 #if defined(OS_WIN) | 288 #if defined(OS_WIN) |
| 293 // Construct an untranslated event from the platform event data. | 289 // Construct an untranslated event from the platform event data. |
| 294 blink::WebMouseWheelEvent webkit_event = | 290 blink::WebMouseWheelEvent webkit_event = |
| 295 event.native_event().message | 291 event.native_event().message |
| 296 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( | 292 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( |
| 297 event.native_event(), event.time_stamp(), | 293 event.native_event(), event.time_stamp(), |
| 298 EventPointerTypeToWebPointerType( | 294 EventPointerTypeToWebPointerType( |
| 299 event.pointer_details().pointer_type)) | 295 event.pointer_details().pointer_type)) |
| 300 : MakeWebMouseWheelEventFromUiEvent(event); | 296 : MakeWebMouseWheelEventFromUiEvent(event); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 332 webkit_event.domCode = static_cast<int>(event.code()); | 328 webkit_event.domCode = static_cast<int>(event.code()); |
| 333 webkit_event.domKey = static_cast<int>(event.GetDomKey()); | 329 webkit_event.domKey = static_cast<int>(event.GetDomKey()); |
| 334 return webkit_event; | 330 return webkit_event; |
| 335 } | 331 } |
| 336 #endif | 332 #endif |
| 337 return MakeWebKeyboardEventFromUiEvent(event); | 333 return MakeWebKeyboardEventFromUiEvent(event); |
| 338 } | 334 } |
| 339 | 335 |
| 340 blink::WebGestureEvent MakeWebGestureEvent( | 336 blink::WebGestureEvent MakeWebGestureEvent( |
| 341 const GestureEvent& event, | 337 const GestureEvent& event, |
| 342 const base::Callback<gfx::Point(const ui::LocatedEvent& event)>& | 338 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 343 screen_location_callback) { | 339 screen_location_callback) { |
| 344 blink::WebGestureEvent gesture_event = MakeWebGestureEventFromUIEvent(event); | 340 blink::WebGestureEvent gesture_event = MakeWebGestureEventFromUIEvent(event); |
| 345 | 341 |
| 346 gesture_event.x = event.x(); | 342 gesture_event.x = event.x(); |
| 347 gesture_event.y = event.y(); | 343 gesture_event.y = event.y(); |
| 348 | 344 |
| 349 const gfx::Point screen_point = | 345 const gfx::Point screen_point = |
| 350 GetScreenLocationFromEvent(event, screen_location_callback); | 346 GetScreenLocationFromEvent(event, screen_location_callback); |
| 351 gesture_event.globalX = screen_point.x(); | 347 gesture_event.globalX = screen_point.x(); |
| 352 gesture_event.globalY = screen_point.y(); | 348 gesture_event.globalY = screen_point.y(); |
| 353 | 349 |
| 354 return gesture_event; | 350 return gesture_event; |
| 355 } | 351 } |
| 356 | 352 |
| 357 blink::WebGestureEvent MakeWebGestureEvent( | 353 blink::WebGestureEvent MakeWebGestureEvent( |
| 358 const ScrollEvent& event, | 354 const ScrollEvent& event, |
| 359 const base::Callback<gfx::Point(const ui::LocatedEvent& event)>& | 355 const base::Callback<gfx::Point(const LocatedEvent& event)>& |
| 360 screen_location_callback) { | 356 screen_location_callback) { |
| 361 blink::WebGestureEvent gesture_event = MakeWebGestureEventFromUiEvent(event); | 357 blink::WebGestureEvent gesture_event = MakeWebGestureEventFromUiEvent(event); |
| 362 gesture_event.x = event.x(); | 358 gesture_event.x = event.x(); |
| 363 gesture_event.y = event.y(); | 359 gesture_event.y = event.y(); |
| 364 | 360 |
| 365 const gfx::Point screen_point = | 361 const gfx::Point screen_point = |
| 366 GetScreenLocationFromEvent(event, screen_location_callback); | 362 GetScreenLocationFromEvent(event, screen_location_callback); |
| 367 gesture_event.globalX = screen_point.x(); | 363 gesture_event.globalX = screen_point.x(); |
| 368 gesture_event.globalY = screen_point.y(); | 364 gesture_event.globalY = screen_point.y(); |
| 369 | 365 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 440 webkit_event.timeStampSeconds = EventTimeStampToSeconds(event.time_stamp()); | 436 webkit_event.timeStampSeconds = EventTimeStampToSeconds(event.time_stamp()); |
| 441 | 437 |
| 442 if ((event.flags() & EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { | 438 if ((event.flags() & EF_SHIFT_DOWN) != 0 && event.x_offset() == 0) { |
| 443 webkit_event.deltaX = event.y_offset(); | 439 webkit_event.deltaX = event.y_offset(); |
| 444 webkit_event.deltaY = 0; | 440 webkit_event.deltaY = 0; |
| 445 } else { | 441 } else { |
| 446 webkit_event.deltaX = event.x_offset(); | 442 webkit_event.deltaX = event.x_offset(); |
| 447 webkit_event.deltaY = event.y_offset(); | 443 webkit_event.deltaY = event.y_offset(); |
| 448 } | 444 } |
| 449 | 445 |
| 450 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick; | 446 webkit_event.wheelTicksX = webkit_event.deltaX / MouseWheelEvent::kWheelDelta; |
| 451 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick; | 447 webkit_event.wheelTicksY = webkit_event.deltaY / MouseWheelEvent::kWheelDelta; |
| 452 | 448 |
| 453 webkit_event.tiltX = roundf(event.pointer_details().tilt_x); | 449 webkit_event.tiltX = roundf(event.pointer_details().tilt_x); |
| 454 webkit_event.tiltY = roundf(event.pointer_details().tilt_y); | 450 webkit_event.tiltY = roundf(event.pointer_details().tilt_y); |
| 455 webkit_event.force = event.pointer_details().force; | 451 webkit_event.force = event.pointer_details().force; |
| 456 webkit_event.pointerType = | 452 webkit_event.pointerType = |
| 457 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); | 453 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); |
| 458 | 454 |
| 459 return webkit_event; | 455 return webkit_event; |
| 460 } | 456 } |
| 461 | 457 |
| 458 blink::WebTouchEvent MakeWebTouchEvent( | |
| 459 const PointerEvent& event, | |
| 460 const base::Callback<gfx::Point(const LocatedEvent& event)>& | |
| 461 screen_location_callback) { | |
|
sadrul
2016/08/24 18:05:36
Let's leave this out for now.
Explanation: WebTou
jonross
2016/08/25 15:11:59
Done.
| |
| 462 blink::WebTouchEvent web_event; | |
| 463 blink::WebTouchPoint* touch = &web_event.touches[event.pointer_id()]; | |
| 464 | |
| 465 // TODO(jonross): we will need to buffer input events, as blink expects all | |
| 466 // active touch points to be in each WebInputEvent (crbug.com/578160) | |
| 467 touch->position.x = event.x(); | |
| 468 touch->position.y = event.y(); | |
| 469 const gfx::Point screen_point = | |
| 470 GetScreenLocationFromEvent(event, screen_location_callback); | |
| 471 touch->screenPosition.x = screen_point.x(); | |
| 472 touch->screenPosition.y = screen_point.y(); | |
| 473 | |
| 474 touch->pointerType = blink::WebPointerProperties::PointerType::Touch; | |
| 475 touch->radiusX = event.pointer_details().radius_x; | |
| 476 touch->radiusY = event.pointer_details().radius_y; | |
| 477 | |
| 478 web_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); | |
| 479 web_event.timeStampSeconds = EventTimeStampToSeconds(event.time_stamp()); | |
| 480 web_event.uniqueTouchEventId = GetNextTouchEventId(); | |
| 481 | |
| 482 switch (event.type()) { | |
| 483 case ET_POINTER_DOWN: | |
| 484 web_event.type = blink::WebInputEvent::TouchStart; | |
| 485 touch->state = blink::WebTouchPoint::StatePressed; | |
| 486 break; | |
| 487 case ET_POINTER_UP: | |
| 488 web_event.type = blink::WebInputEvent::TouchEnd; | |
| 489 touch->state = blink::WebTouchPoint::StateReleased; | |
| 490 break; | |
| 491 case ET_POINTER_MOVED: | |
| 492 web_event.type = blink::WebInputEvent::TouchMove; | |
| 493 touch->state = blink::WebTouchPoint::StateMoved; | |
| 494 break; | |
| 495 case ET_POINTER_CANCELLED: | |
| 496 web_event.type = blink::WebInputEvent::TouchCancel; | |
| 497 touch->state = blink::WebTouchPoint::StateCancelled; | |
| 498 break; | |
| 499 default: | |
| 500 NOTIMPLEMENTED() << "Received non touch pointer event action: " | |
| 501 << event.type(); | |
| 502 break; | |
| 503 } | |
| 504 return web_event; | |
| 505 } | |
| 506 | |
| 462 } // namespace ui | 507 } // namespace ui |
| OLD | NEW |