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

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

Issue 2573073003: Collapse the API surface on WebInputEvent via accessor functions. (Closed)
Patch Set: Created 4 years 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 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 static_assert( 233 static_assert(
234 WebInputEvent::DispatchType::ListenersNonBlockingPassive < 234 WebInputEvent::DispatchType::ListenersNonBlockingPassive <
235 WebInputEvent::DispatchType::ListenersForcedNonBlockingDueToFling, 235 WebInputEvent::DispatchType::ListenersForcedNonBlockingDueToFling,
236 "Enum not ordered correctly"); 236 "Enum not ordered correctly");
237 return static_cast<WebInputEvent::DispatchType>( 237 return static_cast<WebInputEvent::DispatchType>(
238 std::min(static_cast<int>(type_1), static_cast<int>(type_2))); 238 std::min(static_cast<int>(type_1), static_cast<int>(type_2)));
239 } 239 }
240 240
241 bool CanCoalesce(const WebMouseEvent& event_to_coalesce, 241 bool CanCoalesce(const WebMouseEvent& event_to_coalesce,
242 const WebMouseEvent& event) { 242 const WebMouseEvent& event) {
243 return event.type == event_to_coalesce.type && 243 return event.type() == event_to_coalesce.type() &&
244 event.type == WebInputEvent::MouseMove; 244 event.type() == WebInputEvent::MouseMove;
245 } 245 }
246 246
247 void Coalesce(const WebMouseEvent& event_to_coalesce, WebMouseEvent* event) { 247 void Coalesce(const WebMouseEvent& event_to_coalesce, WebMouseEvent* event) {
248 DCHECK(CanCoalesce(event_to_coalesce, *event)); 248 DCHECK(CanCoalesce(event_to_coalesce, *event));
249 // Accumulate movement deltas. 249 // Accumulate movement deltas.
250 int x = event->movementX; 250 int x = event->movementX;
251 int y = event->movementY; 251 int y = event->movementY;
252 *event = event_to_coalesce; 252 *event = event_to_coalesce;
253 event->movementX += x; 253 event->movementX += x;
254 event->movementY += y; 254 event->movementY += y;
255 } 255 }
256 256
257 bool CanCoalesce(const WebMouseWheelEvent& event_to_coalesce, 257 bool CanCoalesce(const WebMouseWheelEvent& event_to_coalesce,
258 const WebMouseWheelEvent& event) { 258 const WebMouseWheelEvent& event) {
259 return event.modifiers == event_to_coalesce.modifiers && 259 return event.modifiers() == event_to_coalesce.modifiers() &&
260 event.scrollByPage == event_to_coalesce.scrollByPage && 260 event.scrollByPage == event_to_coalesce.scrollByPage &&
261 event.phase == event_to_coalesce.phase && 261 event.phase == event_to_coalesce.phase &&
262 event.momentumPhase == event_to_coalesce.momentumPhase && 262 event.momentumPhase == event_to_coalesce.momentumPhase &&
263 event.hasPreciseScrollingDeltas == 263 event.hasPreciseScrollingDeltas ==
264 event_to_coalesce.hasPreciseScrollingDeltas; 264 event_to_coalesce.hasPreciseScrollingDeltas;
265 } 265 }
266 266
267 void Coalesce(const WebMouseWheelEvent& event_to_coalesce, 267 void Coalesce(const WebMouseWheelEvent& event_to_coalesce,
268 WebMouseWheelEvent* event) { 268 WebMouseWheelEvent* event) {
269 DCHECK(CanCoalesce(event_to_coalesce, *event)); 269 DCHECK(CanCoalesce(event_to_coalesce, *event));
(...skipping 19 matching lines...) Expand all
289 event->movementX += old_movementX; 289 event->movementX += old_movementX;
290 event->movementY += old_movementY; 290 event->movementY += old_movementY;
291 event->accelerationRatioX = 291 event->accelerationRatioX =
292 GetAccelerationRatio(event->deltaX, unaccelerated_x); 292 GetAccelerationRatio(event->deltaX, unaccelerated_x);
293 event->accelerationRatioY = 293 event->accelerationRatioY =
294 GetAccelerationRatio(event->deltaY, unaccelerated_y); 294 GetAccelerationRatio(event->deltaY, unaccelerated_y);
295 } 295 }
296 296
297 bool CanCoalesce(const WebTouchEvent& event_to_coalesce, 297 bool CanCoalesce(const WebTouchEvent& event_to_coalesce,
298 const WebTouchEvent& event) { 298 const WebTouchEvent& event) {
299 if (event.type != event_to_coalesce.type || 299 if (event.type() != event_to_coalesce.type() ||
300 event.type != WebInputEvent::TouchMove || 300 event.type() != WebInputEvent::TouchMove ||
301 event.modifiers != event_to_coalesce.modifiers || 301 event.modifiers() != event_to_coalesce.modifiers() ||
302 event.touchesLength != event_to_coalesce.touchesLength || 302 event.touchesLength != event_to_coalesce.touchesLength ||
303 event.touchesLength > WebTouchEvent::kTouchesLengthCap) 303 event.touchesLength > WebTouchEvent::kTouchesLengthCap)
304 return false; 304 return false;
305 305
306 static_assert(WebTouchEvent::kTouchesLengthCap <= sizeof(int32_t) * 8U, 306 static_assert(WebTouchEvent::kTouchesLengthCap <= sizeof(int32_t) * 8U,
307 "suboptimal kTouchesLengthCap size"); 307 "suboptimal kTouchesLengthCap size");
308 // Ensure that we have a 1-to-1 mapping of pointer ids between touches. 308 // Ensure that we have a 1-to-1 mapping of pointer ids between touches.
309 std::bitset<WebTouchEvent::kTouchesLengthCap> unmatched_event_touches( 309 std::bitset<WebTouchEvent::kTouchesLengthCap> unmatched_event_touches(
310 (1 << event.touchesLength) - 1); 310 (1 << event.touchesLength) - 1);
311 for (unsigned i = 0; i < event_to_coalesce.touchesLength; ++i) { 311 for (unsigned i = 0; i < event_to_coalesce.touchesLength; ++i) {
(...skipping 23 matching lines...) Expand all
335 if (old_event.touches[i_old].state == blink::WebTouchPoint::StateMoved) 335 if (old_event.touches[i_old].state == blink::WebTouchPoint::StateMoved)
336 event->touches[i].state = blink::WebTouchPoint::StateMoved; 336 event->touches[i].state = blink::WebTouchPoint::StateMoved;
337 } 337 }
338 event->movedBeyondSlopRegion |= old_event.movedBeyondSlopRegion; 338 event->movedBeyondSlopRegion |= old_event.movedBeyondSlopRegion;
339 event->dispatchType = MergeDispatchTypes(old_event.dispatchType, 339 event->dispatchType = MergeDispatchTypes(old_event.dispatchType,
340 event_to_coalesce.dispatchType); 340 event_to_coalesce.dispatchType);
341 } 341 }
342 342
343 bool CanCoalesce(const WebGestureEvent& event_to_coalesce, 343 bool CanCoalesce(const WebGestureEvent& event_to_coalesce,
344 const WebGestureEvent& event) { 344 const WebGestureEvent& event) {
345 if (event.type != event_to_coalesce.type || 345 if (event.type() != event_to_coalesce.type() ||
346 event.sourceDevice != event_to_coalesce.sourceDevice || 346 event.sourceDevice != event_to_coalesce.sourceDevice ||
347 event.modifiers != event_to_coalesce.modifiers) 347 event.modifiers() != event_to_coalesce.modifiers())
348 return false; 348 return false;
349 349
350 if (event.type == WebInputEvent::GestureScrollUpdate) 350 if (event.type() == WebInputEvent::GestureScrollUpdate)
351 return true; 351 return true;
352 352
353 // GesturePinchUpdate scales can be combined only if they share a focal point, 353 // GesturePinchUpdate scales can be combined only if they share a focal point,
354 // e.g., with double-tap drag zoom. 354 // e.g., with double-tap drag zoom.
355 if (event.type == WebInputEvent::GesturePinchUpdate && 355 if (event.type() == WebInputEvent::GesturePinchUpdate &&
356 event.x == event_to_coalesce.x && event.y == event_to_coalesce.y) 356 event.x == event_to_coalesce.x && event.y == event_to_coalesce.y)
357 return true; 357 return true;
358 358
359 return false; 359 return false;
360 } 360 }
361 361
362 void Coalesce(const WebGestureEvent& event_to_coalesce, 362 void Coalesce(const WebGestureEvent& event_to_coalesce,
363 WebGestureEvent* event) { 363 WebGestureEvent* event) {
364 DCHECK(CanCoalesce(event_to_coalesce, *event)); 364 DCHECK(CanCoalesce(event_to_coalesce, *event));
365 if (event->type == WebInputEvent::GestureScrollUpdate) { 365 if (event->type() == WebInputEvent::GestureScrollUpdate) {
366 event->data.scrollUpdate.deltaX += 366 event->data.scrollUpdate.deltaX +=
367 event_to_coalesce.data.scrollUpdate.deltaX; 367 event_to_coalesce.data.scrollUpdate.deltaX;
368 event->data.scrollUpdate.deltaY += 368 event->data.scrollUpdate.deltaY +=
369 event_to_coalesce.data.scrollUpdate.deltaY; 369 event_to_coalesce.data.scrollUpdate.deltaY;
370 DCHECK_EQ( 370 DCHECK_EQ(
371 event->data.scrollUpdate.previousUpdateInSequencePrevented, 371 event->data.scrollUpdate.previousUpdateInSequencePrevented,
372 event_to_coalesce.data.scrollUpdate.previousUpdateInSequencePrevented); 372 event_to_coalesce.data.scrollUpdate.previousUpdateInSequencePrevented);
373 } else if (event->type == WebInputEvent::GesturePinchUpdate) { 373 } else if (event->type() == WebInputEvent::GesturePinchUpdate) {
374 event->data.pinchUpdate.scale *= event_to_coalesce.data.pinchUpdate.scale; 374 event->data.pinchUpdate.scale *= event_to_coalesce.data.pinchUpdate.scale;
375 // Ensure the scale remains bounded above 0 and below Infinity so that 375 // Ensure the scale remains bounded above 0 and below Infinity so that
376 // we can reliably perform operations like log on the values. 376 // we can reliably perform operations like log on the values.
377 if (event->data.pinchUpdate.scale < numeric_limits<float>::min()) 377 if (event->data.pinchUpdate.scale < numeric_limits<float>::min())
378 event->data.pinchUpdate.scale = numeric_limits<float>::min(); 378 event->data.pinchUpdate.scale = numeric_limits<float>::min();
379 else if (event->data.pinchUpdate.scale > numeric_limits<float>::max()) 379 else if (event->data.pinchUpdate.scale > numeric_limits<float>::max())
380 event->data.pinchUpdate.scale = numeric_limits<float>::max(); 380 event->data.pinchUpdate.scale = numeric_limits<float>::max();
381 } 381 }
382 } 382 }
383 383
384 } // namespace 384 } // namespace
385 385
386 bool CanCoalesce(const blink::WebInputEvent& event_to_coalesce, 386 bool CanCoalesce(const blink::WebInputEvent& event_to_coalesce,
387 const blink::WebInputEvent& event) { 387 const blink::WebInputEvent& event) {
388 if (blink::WebInputEvent::isGestureEventType(event_to_coalesce.type) && 388 if (blink::WebInputEvent::isGestureEventType(event_to_coalesce.type()) &&
389 blink::WebInputEvent::isGestureEventType(event.type)) { 389 blink::WebInputEvent::isGestureEventType(event.type())) {
390 return CanCoalesce( 390 return CanCoalesce(
391 static_cast<const blink::WebGestureEvent&>(event_to_coalesce), 391 static_cast<const blink::WebGestureEvent&>(event_to_coalesce),
392 static_cast<const blink::WebGestureEvent&>(event)); 392 static_cast<const blink::WebGestureEvent&>(event));
393 } 393 }
394 if (blink::WebInputEvent::isMouseEventType(event_to_coalesce.type) && 394 if (blink::WebInputEvent::isMouseEventType(event_to_coalesce.type()) &&
395 blink::WebInputEvent::isMouseEventType(event.type)) { 395 blink::WebInputEvent::isMouseEventType(event.type())) {
396 return CanCoalesce( 396 return CanCoalesce(
397 static_cast<const blink::WebMouseEvent&>(event_to_coalesce), 397 static_cast<const blink::WebMouseEvent&>(event_to_coalesce),
398 static_cast<const blink::WebMouseEvent&>(event)); 398 static_cast<const blink::WebMouseEvent&>(event));
399 } 399 }
400 if (blink::WebInputEvent::isTouchEventType(event_to_coalesce.type) && 400 if (blink::WebInputEvent::isTouchEventType(event_to_coalesce.type()) &&
401 blink::WebInputEvent::isTouchEventType(event.type)) { 401 blink::WebInputEvent::isTouchEventType(event.type())) {
402 return CanCoalesce( 402 return CanCoalesce(
403 static_cast<const blink::WebTouchEvent&>(event_to_coalesce), 403 static_cast<const blink::WebTouchEvent&>(event_to_coalesce),
404 static_cast<const blink::WebTouchEvent&>(event)); 404 static_cast<const blink::WebTouchEvent&>(event));
405 } 405 }
406 if (event_to_coalesce.type == blink::WebInputEvent::MouseWheel && 406 if (event_to_coalesce.type() == blink::WebInputEvent::MouseWheel &&
407 event.type == blink::WebInputEvent::MouseWheel) { 407 event.type() == blink::WebInputEvent::MouseWheel) {
408 return CanCoalesce( 408 return CanCoalesce(
409 static_cast<const blink::WebMouseWheelEvent&>(event_to_coalesce), 409 static_cast<const blink::WebMouseWheelEvent&>(event_to_coalesce),
410 static_cast<const blink::WebMouseWheelEvent&>(event)); 410 static_cast<const blink::WebMouseWheelEvent&>(event));
411 } 411 }
412 return false; 412 return false;
413 } 413 }
414 414
415 void Coalesce(const blink::WebInputEvent& event_to_coalesce, 415 void Coalesce(const blink::WebInputEvent& event_to_coalesce,
416 blink::WebInputEvent* event) { 416 blink::WebInputEvent* event) {
417 if (blink::WebInputEvent::isGestureEventType(event_to_coalesce.type) && 417 if (blink::WebInputEvent::isGestureEventType(event_to_coalesce.type()) &&
418 blink::WebInputEvent::isGestureEventType(event->type)) { 418 blink::WebInputEvent::isGestureEventType(event->type())) {
419 Coalesce(static_cast<const blink::WebGestureEvent&>(event_to_coalesce), 419 Coalesce(static_cast<const blink::WebGestureEvent&>(event_to_coalesce),
420 static_cast<blink::WebGestureEvent*>(event)); 420 static_cast<blink::WebGestureEvent*>(event));
421 return; 421 return;
422 } 422 }
423 if (blink::WebInputEvent::isMouseEventType(event_to_coalesce.type) && 423 if (blink::WebInputEvent::isMouseEventType(event_to_coalesce.type()) &&
424 blink::WebInputEvent::isMouseEventType(event->type)) { 424 blink::WebInputEvent::isMouseEventType(event->type())) {
425 Coalesce(static_cast<const blink::WebMouseEvent&>(event_to_coalesce), 425 Coalesce(static_cast<const blink::WebMouseEvent&>(event_to_coalesce),
426 static_cast<blink::WebMouseEvent*>(event)); 426 static_cast<blink::WebMouseEvent*>(event));
427 return; 427 return;
428 } 428 }
429 if (blink::WebInputEvent::isTouchEventType(event_to_coalesce.type) && 429 if (blink::WebInputEvent::isTouchEventType(event_to_coalesce.type()) &&
430 blink::WebInputEvent::isTouchEventType(event->type)) { 430 blink::WebInputEvent::isTouchEventType(event->type())) {
431 Coalesce(static_cast<const blink::WebTouchEvent&>(event_to_coalesce), 431 Coalesce(static_cast<const blink::WebTouchEvent&>(event_to_coalesce),
432 static_cast<blink::WebTouchEvent*>(event)); 432 static_cast<blink::WebTouchEvent*>(event));
433 return; 433 return;
434 } 434 }
435 if (event_to_coalesce.type == blink::WebInputEvent::MouseWheel && 435 if (event_to_coalesce.type() == blink::WebInputEvent::MouseWheel &&
436 event->type == blink::WebInputEvent::MouseWheel) { 436 event->type() == blink::WebInputEvent::MouseWheel) {
437 Coalesce(static_cast<const blink::WebMouseWheelEvent&>(event_to_coalesce), 437 Coalesce(static_cast<const blink::WebMouseWheelEvent&>(event_to_coalesce),
438 static_cast<blink::WebMouseWheelEvent*>(event)); 438 static_cast<blink::WebMouseWheelEvent*>(event));
439 } 439 }
440 } 440 }
441 441
442 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( 442 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent(
443 const MotionEvent& event, 443 const MotionEvent& event,
444 bool moved_beyond_slop_region) { 444 bool moved_beyond_slop_region) {
445 static_assert(static_cast<int>(MotionEvent::MAX_TOUCH_POINT_COUNT) == 445 static_assert(static_cast<int>(MotionEvent::MAX_TOUCH_POINT_COUNT) ==
446 static_cast<int>(blink::WebTouchEvent::kTouchesLengthCap), 446 static_cast<int>(blink::WebTouchEvent::kTouchesLengthCap),
447 "inconsistent maximum number of active touch points"); 447 "inconsistent maximum number of active touch points");
448 448
449 blink::WebTouchEvent result( 449 blink::WebTouchEvent result(
450 ToWebTouchEventType(event.GetAction()), 450 ToWebTouchEventType(event.GetAction()),
451 EventFlagsToWebEventModifiers(event.GetFlags()), 451 EventFlagsToWebEventModifiers(event.GetFlags()),
452 ui::EventTimeStampToSeconds(event.GetEventTime())); 452 ui::EventTimeStampToSeconds(event.GetEventTime()));
453 result.dispatchType = result.type == WebInputEvent::TouchCancel 453 result.dispatchType = result.type() == WebInputEvent::TouchCancel
454 ? WebInputEvent::EventNonBlocking 454 ? WebInputEvent::EventNonBlocking
455 : WebInputEvent::Blocking; 455 : WebInputEvent::Blocking;
456 result.movedBeyondSlopRegion = moved_beyond_slop_region; 456 result.movedBeyondSlopRegion = moved_beyond_slop_region;
457 457
458 // TODO(mustaq): MotionEvent flags seems unrelated, should use 458 // TODO(mustaq): MotionEvent flags seems unrelated, should use
459 // metaState instead? 459 // metaState instead?
460 460
461 DCHECK_NE(event.GetUniqueEventId(), 0U); 461 DCHECK_NE(event.GetUniqueEventId(), 0U);
462 result.uniqueTouchEventId = event.GetUniqueEventId(); 462 result.uniqueTouchEventId = event.GetUniqueEventId();
463 result.touchesLength = 463 result.touchesLength =
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 return TranslateAndScaleWebInputEvent(event, gfx::Vector2d(0, 0), scale); 646 return TranslateAndScaleWebInputEvent(event, gfx::Vector2d(0, 0), scale);
647 } 647 }
648 648
649 std::unique_ptr<blink::WebInputEvent> TranslateAndScaleWebInputEvent( 649 std::unique_ptr<blink::WebInputEvent> TranslateAndScaleWebInputEvent(
650 const blink::WebInputEvent& event, 650 const blink::WebInputEvent& event,
651 const gfx::Vector2d& delta, 651 const gfx::Vector2d& delta,
652 float scale) { 652 float scale) {
653 std::unique_ptr<blink::WebInputEvent> scaled_event; 653 std::unique_ptr<blink::WebInputEvent> scaled_event;
654 if (scale == 1.f && delta.IsZero()) 654 if (scale == 1.f && delta.IsZero())
655 return scaled_event; 655 return scaled_event;
656 if (event.type == blink::WebMouseEvent::MouseWheel) { 656 if (event.type() == blink::WebMouseEvent::MouseWheel) {
657 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent; 657 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent;
658 scaled_event.reset(wheel_event); 658 scaled_event.reset(wheel_event);
659 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event); 659 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event);
660 wheel_event->x += delta.x(); 660 wheel_event->x += delta.x();
661 wheel_event->y += delta.y(); 661 wheel_event->y += delta.y();
662 wheel_event->x *= scale; 662 wheel_event->x *= scale;
663 wheel_event->y *= scale; 663 wheel_event->y *= scale;
664 wheel_event->deltaX *= scale; 664 wheel_event->deltaX *= scale;
665 wheel_event->deltaY *= scale; 665 wheel_event->deltaY *= scale;
666 wheel_event->wheelTicksX *= scale; 666 wheel_event->wheelTicksX *= scale;
667 wheel_event->wheelTicksY *= scale; 667 wheel_event->wheelTicksY *= scale;
668 } else if (blink::WebInputEvent::isMouseEventType(event.type)) { 668 } else if (blink::WebInputEvent::isMouseEventType(event.type())) {
669 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent; 669 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent;
670 scaled_event.reset(mouse_event); 670 scaled_event.reset(mouse_event);
671 *mouse_event = static_cast<const blink::WebMouseEvent&>(event); 671 *mouse_event = static_cast<const blink::WebMouseEvent&>(event);
672 mouse_event->x += delta.x(); 672 mouse_event->x += delta.x();
673 mouse_event->y += delta.y(); 673 mouse_event->y += delta.y();
674 mouse_event->x *= scale; 674 mouse_event->x *= scale;
675 mouse_event->y *= scale; 675 mouse_event->y *= scale;
676 mouse_event->windowX = mouse_event->x; 676 mouse_event->windowX = mouse_event->x;
677 mouse_event->windowY = mouse_event->y; 677 mouse_event->windowY = mouse_event->y;
678 mouse_event->movementX *= scale; 678 mouse_event->movementX *= scale;
679 mouse_event->movementY *= scale; 679 mouse_event->movementY *= scale;
680 } else if (blink::WebInputEvent::isTouchEventType(event.type)) { 680 } else if (blink::WebInputEvent::isTouchEventType(event.type())) {
681 blink::WebTouchEvent* touch_event = new blink::WebTouchEvent; 681 blink::WebTouchEvent* touch_event = new blink::WebTouchEvent;
682 scaled_event.reset(touch_event); 682 scaled_event.reset(touch_event);
683 *touch_event = static_cast<const blink::WebTouchEvent&>(event); 683 *touch_event = static_cast<const blink::WebTouchEvent&>(event);
684 for (unsigned i = 0; i < touch_event->touchesLength; i++) { 684 for (unsigned i = 0; i < touch_event->touchesLength; i++) {
685 touch_event->touches[i].position.x += delta.x(); 685 touch_event->touches[i].position.x += delta.x();
686 touch_event->touches[i].position.y += delta.y(); 686 touch_event->touches[i].position.y += delta.y();
687 touch_event->touches[i].position.x *= scale; 687 touch_event->touches[i].position.x *= scale;
688 touch_event->touches[i].position.y *= scale; 688 touch_event->touches[i].position.y *= scale;
689 touch_event->touches[i].radiusX *= scale; 689 touch_event->touches[i].radiusX *= scale;
690 touch_event->touches[i].radiusY *= scale; 690 touch_event->touches[i].radiusY *= scale;
691 } 691 }
692 } else if (blink::WebInputEvent::isGestureEventType(event.type)) { 692 } else if (blink::WebInputEvent::isGestureEventType(event.type())) {
693 blink::WebGestureEvent* gesture_event = new blink::WebGestureEvent; 693 blink::WebGestureEvent* gesture_event = new blink::WebGestureEvent;
694 scaled_event.reset(gesture_event); 694 scaled_event.reset(gesture_event);
695 *gesture_event = static_cast<const blink::WebGestureEvent&>(event); 695 *gesture_event = static_cast<const blink::WebGestureEvent&>(event);
696 gesture_event->x += delta.x(); 696 gesture_event->x += delta.x();
697 gesture_event->y += delta.y(); 697 gesture_event->y += delta.y();
698 gesture_event->x *= scale; 698 gesture_event->x *= scale;
699 gesture_event->y *= scale; 699 gesture_event->y *= scale;
700 switch (gesture_event->type) { 700 switch (gesture_event->type()) {
701 case blink::WebInputEvent::GestureScrollUpdate: 701 case blink::WebInputEvent::GestureScrollUpdate:
702 gesture_event->data.scrollUpdate.deltaX *= scale; 702 gesture_event->data.scrollUpdate.deltaX *= scale;
703 gesture_event->data.scrollUpdate.deltaY *= scale; 703 gesture_event->data.scrollUpdate.deltaY *= scale;
704 break; 704 break;
705 case blink::WebInputEvent::GestureScrollBegin: 705 case blink::WebInputEvent::GestureScrollBegin:
706 gesture_event->data.scrollBegin.deltaXHint *= scale; 706 gesture_event->data.scrollBegin.deltaXHint *= scale;
707 gesture_event->data.scrollBegin.deltaYHint *= scale; 707 gesture_event->data.scrollBegin.deltaYHint *= scale;
708 break; 708 break;
709 709
710 case blink::WebInputEvent::GesturePinchUpdate: 710 case blink::WebInputEvent::GesturePinchUpdate:
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 switch (type) { 875 switch (type) {
876 case blink::WebGestureEvent::GestureScrollUpdate: 876 case blink::WebGestureEvent::GestureScrollUpdate:
877 case blink::WebGestureEvent::GesturePinchUpdate: 877 case blink::WebGestureEvent::GesturePinchUpdate:
878 return true; 878 return true;
879 default: 879 default:
880 return false; 880 return false;
881 } 881 }
882 } 882 }
883 883
884 } // namespace ui 884 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698