| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 468 m_touchStartOrFirstTouchMove = event.touchStartOrFirstTouchMove; | 468 m_touchStartOrFirstTouchMove = event.touchStartOrFirstTouchMove; |
| 469 | 469 |
| 470 for (unsigned i = 0; i < event.touchesLength; ++i) | 470 for (unsigned i = 0; i < event.touchesLength; ++i) |
| 471 m_touchPoints.append(PlatformTouchPointBuilder(widget, event.touches[i])); | 471 m_touchPoints.append(PlatformTouchPointBuilder(widget, event.touches[i])); |
| 472 | 472 |
| 473 m_dispatchType = toPlatformDispatchType(event.dispatchType); | 473 m_dispatchType = toPlatformDispatchType(event.dispatchType); |
| 474 m_uniqueTouchEventId = event.uniqueTouchEventId; | 474 m_uniqueTouchEventId = event.uniqueTouchEventId; |
| 475 } | 475 } |
| 476 | 476 |
| 477 static FloatPoint convertAbsoluteLocationForLayoutObjectFloat( | 477 static FloatPoint convertAbsoluteLocationForLayoutObjectFloat( |
| 478 const LayoutPoint& location, | 478 const DoublePoint& location, |
| 479 const LayoutItem layoutItem) { | 479 const LayoutItem layoutItem) { |
| 480 return layoutItem.absoluteToLocal(FloatPoint(location), UseTransforms); | 480 return layoutItem.absoluteToLocal(FloatPoint(location), UseTransforms); |
| 481 } | 481 } |
| 482 | 482 |
| 483 static IntPoint convertAbsoluteLocationForLayoutObject( | 483 static IntPoint convertAbsoluteLocationForLayoutObjectInt( |
| 484 const LayoutPoint& location, | 484 const DoublePoint& location, |
| 485 const LayoutItem layoutItem) { | 485 const LayoutItem layoutItem) { |
| 486 return roundedIntPoint( | 486 return roundedIntPoint( |
| 487 convertAbsoluteLocationForLayoutObjectFloat(location, layoutItem)); | 487 convertAbsoluteLocationForLayoutObjectFloat(location, layoutItem)); |
| 488 } | 488 } |
| 489 | 489 |
| 490 // FIXME: Change |widget| to const Widget& after RemoteFrames get | 490 // FIXME: Change |widget| to const Widget& after RemoteFrames get |
| 491 // RemoteFrameViews. | 491 // RemoteFrameViews. |
| 492 static void updateWebMouseEventFromCoreMouseEvent( | 492 static void updateWebMouseEventFromCoreMouseEvent( |
| 493 const MouseRelatedEvent& event, | 493 const MouseRelatedEvent& event, |
| 494 const Widget* widget, | 494 const Widget* widget, |
| 495 const LayoutItem layoutItem, | 495 const LayoutItem layoutItem, |
| 496 WebMouseEvent& webEvent) { | 496 WebMouseEvent& webEvent) { |
| 497 webEvent.timeStampSeconds = event.platformTimeStamp(); | 497 webEvent.timeStampSeconds = event.platformTimeStamp(); |
| 498 webEvent.modifiers = event.modifiers(); | 498 webEvent.modifiers = event.modifiers(); |
| 499 | 499 |
| 500 FrameView* view = widget ? toFrameView(widget->parent()) : 0; | 500 FrameView* view = widget ? toFrameView(widget->parent()) : 0; |
| 501 // TODO(bokan): If view == nullptr, pointInRootFrame will really be | 501 // TODO(bokan): If view == nullptr, pointInRootFrame will really be |
| 502 // pointInRootContent. | 502 // pointInRootContent. |
| 503 IntPoint pointInRootFrame = IntPoint(event.absoluteLocation().x().toInt(), | 503 IntPoint pointInRootFrame(event.absoluteLocation().x(), |
| 504 event.absoluteLocation().y().toInt()); | 504 event.absoluteLocation().y()); |
| 505 if (view) | 505 if (view) |
| 506 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); | 506 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); |
| 507 webEvent.globalX = event.screenX(); | 507 webEvent.globalX = event.screenX(); |
| 508 webEvent.globalY = event.screenY(); | 508 webEvent.globalY = event.screenY(); |
| 509 webEvent.windowX = pointInRootFrame.x(); | 509 webEvent.windowX = pointInRootFrame.x(); |
| 510 webEvent.windowY = pointInRootFrame.y(); | 510 webEvent.windowY = pointInRootFrame.y(); |
| 511 IntPoint localPoint = convertAbsoluteLocationForLayoutObject( | 511 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 512 event.absoluteLocation(), layoutItem); | 512 event.absoluteLocation(), layoutItem); |
| 513 webEvent.x = localPoint.x(); | 513 webEvent.x = localPoint.x(); |
| 514 webEvent.y = localPoint.y(); | 514 webEvent.y = localPoint.y(); |
| 515 } | 515 } |
| 516 | 516 |
| 517 WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, | 517 WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, |
| 518 const LayoutItem layoutItem, | 518 const LayoutItem layoutItem, |
| 519 const MouseEvent& event) { | 519 const MouseEvent& event) { |
| 520 if (event.type() == EventTypeNames::mousemove) | 520 if (event.type() == EventTypeNames::mousemove) |
| 521 type = WebInputEvent::MouseMove; | 521 type = WebInputEvent::MouseMove; |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 IntPoint screenPoint = roundedIntPoint(touch->screenLocation()); | 611 IntPoint screenPoint = roundedIntPoint(touch->screenLocation()); |
| 612 globalX = screenPoint.x(); | 612 globalX = screenPoint.x(); |
| 613 globalY = screenPoint.y(); | 613 globalY = screenPoint.y(); |
| 614 windowX = pointInRootFrame.x(); | 614 windowX = pointInRootFrame.x(); |
| 615 windowY = pointInRootFrame.y(); | 615 windowY = pointInRootFrame.y(); |
| 616 | 616 |
| 617 button = WebMouseEvent::Button::Left; | 617 button = WebMouseEvent::Button::Left; |
| 618 modifiers |= WebInputEvent::LeftButtonDown; | 618 modifiers |= WebInputEvent::LeftButtonDown; |
| 619 clickCount = (type == MouseDown || type == MouseUp); | 619 clickCount = (type == MouseDown || type == MouseUp); |
| 620 | 620 |
| 621 IntPoint localPoint = convertAbsoluteLocationForLayoutObject( | 621 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 622 touch->absoluteLocation(), layoutItem); | 622 DoublePoint(touch->absoluteLocation()), layoutItem); |
| 623 x = localPoint.x(); | 623 x = localPoint.x(); |
| 624 y = localPoint.y(); | 624 y = localPoint.y(); |
| 625 | 625 |
| 626 pointerType = WebPointerProperties::PointerType::Touch; | 626 pointerType = WebPointerProperties::PointerType::Touch; |
| 627 } | 627 } |
| 628 | 628 |
| 629 WebMouseWheelEventBuilder::WebMouseWheelEventBuilder( | 629 WebMouseWheelEventBuilder::WebMouseWheelEventBuilder( |
| 630 const Widget* widget, | 630 const Widget* widget, |
| 631 const LayoutItem layoutItem, | 631 const LayoutItem layoutItem, |
| 632 const WheelEvent& event) { | 632 const WheelEvent& event) { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 } | 677 } |
| 678 | 678 |
| 679 static WebTouchPoint toWebTouchPoint(const Touch* touch, | 679 static WebTouchPoint toWebTouchPoint(const Touch* touch, |
| 680 const LayoutItem layoutItem, | 680 const LayoutItem layoutItem, |
| 681 WebTouchPoint::State state) { | 681 WebTouchPoint::State state) { |
| 682 WebTouchPoint point; | 682 WebTouchPoint point; |
| 683 point.pointerType = WebPointerProperties::PointerType::Touch; | 683 point.pointerType = WebPointerProperties::PointerType::Touch; |
| 684 point.id = touch->identifier(); | 684 point.id = touch->identifier(); |
| 685 point.screenPosition = touch->screenLocation(); | 685 point.screenPosition = touch->screenLocation(); |
| 686 point.position = convertAbsoluteLocationForLayoutObjectFloat( | 686 point.position = convertAbsoluteLocationForLayoutObjectFloat( |
| 687 touch->absoluteLocation(), layoutItem); | 687 DoublePoint(touch->absoluteLocation()), layoutItem); |
| 688 point.radiusX = touch->radiusX(); | 688 point.radiusX = touch->radiusX(); |
| 689 point.radiusY = touch->radiusY(); | 689 point.radiusY = touch->radiusY(); |
| 690 point.rotationAngle = touch->rotationAngle(); | 690 point.rotationAngle = touch->rotationAngle(); |
| 691 point.force = touch->force(); | 691 point.force = touch->force(); |
| 692 point.state = state; | 692 point.state = state; |
| 693 return point; | 693 return point; |
| 694 } | 694 } |
| 695 | 695 |
| 696 static unsigned indexOfTouchPointWithId(const WebTouchPoint* touchPoints, | 696 static unsigned indexOfTouchPointWithId(const WebTouchPoint* touchPoints, |
| 697 unsigned touchPointsLength, | 697 unsigned touchPointsLength, |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 } else if (event.type() == EventTypeNames::gesturetap) { | 804 } else if (event.type() == EventTypeNames::gesturetap) { |
| 805 type = GestureTap; | 805 type = GestureTap; |
| 806 data.tap.tapCount = 1; | 806 data.tap.tapCount = 1; |
| 807 } | 807 } |
| 808 | 808 |
| 809 timeStampSeconds = event.platformTimeStamp(); | 809 timeStampSeconds = event.platformTimeStamp(); |
| 810 modifiers = event.modifiers(); | 810 modifiers = event.modifiers(); |
| 811 | 811 |
| 812 globalX = event.screenX(); | 812 globalX = event.screenX(); |
| 813 globalY = event.screenY(); | 813 globalY = event.screenY(); |
| 814 IntPoint localPoint = convertAbsoluteLocationForLayoutObject( | 814 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 815 event.absoluteLocation(), layoutItem); | 815 event.absoluteLocation(), layoutItem); |
| 816 x = localPoint.x(); | 816 x = localPoint.x(); |
| 817 y = localPoint.y(); | 817 y = localPoint.y(); |
| 818 | 818 |
| 819 switch (event.source()) { | 819 switch (event.source()) { |
| 820 case GestureSourceTouchpad: | 820 case GestureSourceTouchpad: |
| 821 sourceDevice = WebGestureDeviceTouchpad; | 821 sourceDevice = WebGestureDeviceTouchpad; |
| 822 break; | 822 break; |
| 823 case GestureSourceTouchscreen: | 823 case GestureSourceTouchscreen: |
| 824 sourceDevice = WebGestureDeviceTouchscreen; | 824 sourceDevice = WebGestureDeviceTouchscreen; |
| 825 break; | 825 break; |
| 826 case GestureSourceUninitialized: | 826 case GestureSourceUninitialized: |
| 827 NOTREACHED(); | 827 NOTREACHED(); |
| 828 } | 828 } |
| 829 } | 829 } |
| 830 | 830 |
| 831 } // namespace blink | 831 } // namespace blink |
| OLD | NEW |