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 "core/input/PointerEventManager.h" | 5 #include "core/input/PointerEventManager.h" |
6 | 6 |
7 #include "core/dom/ElementTraversal.h" | 7 #include "core/dom/ElementTraversal.h" |
8 #include "core/dom/shadow/FlatTreeTraversal.h" | 8 #include "core/dom/shadow/FlatTreeTraversal.h" |
9 #include "core/events/MouseEvent.h" | 9 #include "core/events/MouseEvent.h" |
10 #include "core/frame/FrameView.h" | 10 #include "core/frame/FrameView.h" |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 touchInfo.targetFrame = touchInfo.touchNode->document().frame(); | 363 touchInfo.targetFrame = touchInfo.touchNode->document().frame(); |
364 } | 364 } |
365 | 365 |
366 // Do not send pointer events for stationary touches or null targetFrame | 366 // Do not send pointer events for stationary touches or null targetFrame |
367 if (touchInfo.touchNode && touchInfo.targetFrame && | 367 if (touchInfo.touchNode && touchInfo.targetFrame && |
368 touchPoint.state() != PlatformTouchPoint::TouchStationary && | 368 touchPoint.state() != PlatformTouchPoint::TouchStationary && |
369 !m_inCanceledStateForPointerTypeTouch) { | 369 !m_inCanceledStateForPointerTypeTouch) { |
370 FloatPoint pagePoint = touchInfo.targetFrame->view()->rootFrameToContents( | 370 FloatPoint pagePoint = touchInfo.targetFrame->view()->rootFrameToContents( |
371 touchInfo.point.pos()); | 371 touchInfo.point.pos()); |
372 float scaleFactor = 1.0f / touchInfo.targetFrame->pageZoomFactor(); | 372 float scaleFactor = 1.0f / touchInfo.targetFrame->pageZoomFactor(); |
373 FloatPoint scrollPosition = | 373 FloatPoint scrollPosition(touchInfo.targetFrame->view()->scrollOffset()); |
374 touchInfo.targetFrame->view()->scrollPosition(); | |
375 FloatPoint framePoint = pagePoint.scaledBy(scaleFactor); | 374 FloatPoint framePoint = pagePoint.scaledBy(scaleFactor); |
376 framePoint.moveBy(scrollPosition.scaledBy(-scaleFactor)); | 375 framePoint.moveBy(scrollPosition.scaledBy(-scaleFactor)); |
377 PointerEvent* pointerEvent = m_pointerEventFactory.create( | 376 PointerEvent* pointerEvent = m_pointerEventFactory.create( |
378 pointerEventNameForTouchPointState(touchPoint.state()), touchPoint, | 377 pointerEventNameForTouchPointState(touchPoint.state()), touchPoint, |
379 event.getModifiers(), touchPoint.radius().scaledBy(scaleFactor), | 378 event.getModifiers(), touchPoint.radius().scaledBy(scaleFactor), |
380 framePoint, | 379 framePoint, |
381 touchInfo.touchNode ? touchInfo.touchNode->document().domWindow() | 380 touchInfo.touchNode ? touchInfo.touchNode->document().domWindow() |
382 : nullptr); | 381 : nullptr); |
383 | 382 |
384 WebInputEventResult result = | 383 WebInputEventResult result = |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 return true; | 672 return true; |
674 } | 673 } |
675 return false; | 674 return false; |
676 } | 675 } |
677 | 676 |
678 EventTarget* PointerEventManager::getMouseCapturingNode() { | 677 EventTarget* PointerEventManager::getMouseCapturingNode() { |
679 return getCapturingNode(PointerEventFactory::s_mouseId); | 678 return getCapturingNode(PointerEventFactory::s_mouseId); |
680 } | 679 } |
681 | 680 |
682 } // namespace blink | 681 } // namespace blink |
OLD | NEW |