Chromium Code Reviews| Index: third_party/WebKit/Source/web/WebViewImpl.cpp |
| diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp |
| index f7bc3458e2db634245d22949e61f6a50f92e6a75..305d333efe309138a499d3a56f6aac1ac0ca117a 100644 |
| --- a/third_party/WebKit/Source/web/WebViewImpl.cpp |
| +++ b/third_party/WebKit/Source/web/WebViewImpl.cpp |
| @@ -98,7 +98,6 @@ |
| #include "platform/Cursor.h" |
| #include "platform/Histogram.h" |
| #include "platform/KeyboardCodes.h" |
| -#include "platform/PlatformGestureEvent.h" |
| #include "platform/PlatformMouseEvent.h" |
| #include "platform/RuntimeEnabledFeatures.h" |
| #include "platform/UserGestureIndicator.h" |
| @@ -728,14 +727,14 @@ WebInputEventResult WebViewImpl::handleGestureEvent( |
| mainFrameImpl()->frameWidget()->scheduleAnimation(); |
| eventResult = WebInputEventResult::HandledSystem; |
| + WebGestureEvent scaledEvent = |
| + ScaleWebGestureEvent(mainFrameImpl()->frameView(), event); |
|
majidvp
2016/12/15 17:40:46
One thing that we are going to miss when we remove
dtapuska
2016/12/15 21:29:39
I've adjusted the framescale to be zero based whic
majidvp
2016/12/15 21:45:36
Neat trick.
|
| // Plugins may need to see GestureFlingStart to balance |
| // GestureScrollBegin (since the former replaces GestureScrollEnd when |
| // transitioning to a fling). |
| - PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), |
| - event); |
| // TODO(dtapuska): Why isn't the response used? |
| mainFrameImpl()->frame()->eventHandler().handleGestureScrollEvent( |
| - platformEvent); |
| + scaledEvent); |
| m_client->didHandleGestureEvent(event, eventCancelled); |
| return WebInputEventResult::HandledSystem; |
| @@ -750,8 +749,8 @@ WebInputEventResult WebViewImpl::handleGestureEvent( |
| break; |
| } |
| - PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), |
| - event); |
| + WebGestureEvent scaledEvent = |
| + ScaleWebGestureEvent(mainFrameImpl()->frameView(), event); |
| // Special handling for double tap and scroll events as we don't want to |
| // hit test for them. |
| @@ -760,7 +759,8 @@ WebInputEventResult WebViewImpl::handleGestureEvent( |
| if (m_webSettings->doubleTapToZoomEnabled() && |
| minimumPageScaleFactor() != maximumPageScaleFactor()) { |
| m_client->cancelScheduledContentIntents(); |
| - animateDoubleTapZoom(platformEvent.position()); |
| + animateDoubleTapZoom( |
| + flooredIntPoint(scaledEvent.positionInRootFrame())); |
| } |
| // GestureDoubleTap is currently only used by Android for zooming. For |
| // WebCore, GestureTap with tap count = 2 is used instead. So we drop |
| @@ -780,7 +780,7 @@ WebInputEventResult WebViewImpl::handleGestureEvent( |
| // other gesture events. |
| eventResult = |
| mainFrameImpl()->frame()->eventHandler().handleGestureScrollEvent( |
| - platformEvent); |
| + scaledEvent); |
| m_client->didHandleGestureEvent(event, eventCancelled); |
| return eventResult; |
| case WebInputEvent::GesturePinchBegin: |
| @@ -795,7 +795,7 @@ WebInputEventResult WebViewImpl::handleGestureEvent( |
| // event type. |
| GestureEventWithHitTestResults targetedEvent = |
| m_page->deprecatedLocalMainFrame()->eventHandler().targetGestureEvent( |
| - platformEvent); |
| + scaledEvent); |
| // Handle link highlighting outside the main switch to avoid getting lost in |
| // the complicated set of cases handled below. |
| @@ -1957,17 +1957,8 @@ void WebViewImpl::beginFrame(double lastFrameTimeMonotonic) { |
| WebGestureDevice lastFlingSourceDevice = m_flingSourceDevice; |
| endActiveFlingAnimation(); |
| - PlatformGestureEvent endScrollEvent( |
| - PlatformEvent::GestureScrollEnd, m_positionOnFlingStart, |
| - m_globalPositionOnFlingStart, IntSize(), TimeTicks(), |
| - PlatformEvent::NoModifiers, |
| - lastFlingSourceDevice == WebGestureDeviceTouchpad |
| - ? PlatformGestureSourceTouchpad |
| - : PlatformGestureSourceTouchscreen); |
| - endScrollEvent.setScrollGestureData(0, 0, ScrollByPrecisePixel, 0, 0, |
| - ScrollInertialPhaseMomentum, false, |
| - -1 /* null plugin id */); |
| - |
| + WebGestureEvent endScrollEvent = createGestureScrollEventFromFling( |
| + WebInputEvent::GestureScrollEnd, lastFlingSourceDevice); |
| mainFrameImpl()->frame()->eventHandler().handleGestureScrollEnd( |
| endScrollEvent); |
| } |
| @@ -3808,14 +3799,14 @@ WebHitTestResult WebViewImpl::hitTestResultForTap( |
| tapEvent.data.tap.width = tapArea.width; |
| tapEvent.data.tap.height = tapArea.height; |
| - PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), |
| - tapEvent); |
| + WebGestureEvent scaledEvent = |
| + ScaleWebGestureEvent(mainFrameImpl()->frameView(), tapEvent); |
| HitTestResult result = |
| m_page->deprecatedLocalMainFrame() |
| ->eventHandler() |
| .hitTestResultForGestureEvent( |
| - platformEvent, HitTestRequest::ReadOnly | HitTestRequest::Active) |
| + scaledEvent, HitTestRequest::ReadOnly | HitTestRequest::Active) |
| .hitTestResult(); |
| result.setToShadowHostIfInUserAgentShadowRoot(); |