Index: third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp |
index 6d0cb045935a9705ff12030cf12f74d9432ed20b..2bf479a072a93791897613e8fb58dd480a99df71 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp |
@@ -36,12 +36,11 @@ |
#include "core/page/ChromeClient.h" |
#include "core/page/Page.h" |
#include "platform/PlatformEvent.h" |
-#include "platform/PlatformTouchEvent.h" |
-#include "platform/PlatformTouchPoint.h" |
#include "platform/geometry/FloatSize.h" |
#include "platform/geometry/IntPoint.h" |
#include "platform/geometry/IntRect.h" |
#include "platform/geometry/IntSize.h" |
+#include "public/platform/WebTouchEvent.h" |
#include "wtf/CurrentTime.h" |
#include "wtf/Time.h" |
@@ -84,38 +83,42 @@ TimeTicks GetEventTimeStamp(const blink::protocol::Maybe<double>& timestamp) { |
return TimeTicks::Now(); |
} |
-class SyntheticInspectorTouchPoint : public blink::PlatformTouchPoint { |
+class SyntheticInspectorTouchPoint : public blink::WebTouchPoint { |
public: |
- SyntheticInspectorTouchPoint(int id, |
- TouchState state, |
+ SyntheticInspectorTouchPoint(int idParam, |
+ State stateParam, |
const blink::IntPoint& screenPos, |
const blink::IntPoint& pos, |
- int radiusX, |
- int radiusY, |
- double rotationAngle, |
- double force) { |
- m_pointerProperties.id = id; |
- m_screenPos = screenPos; |
- m_pos = pos; |
- m_state = state; |
- m_radius = blink::FloatSize(radiusX, radiusY); |
- m_rotationAngle = rotationAngle; |
- m_pointerProperties.force = force; |
+ int radiusXParam, |
+ int radiusYParam, |
+ double rotationAngleParam, |
+ double forceParam) { |
+ id = idParam; |
+ screenPosition = screenPos; |
+ position = pos; |
+ state = stateParam; |
+ radiusX = radiusXParam; |
+ radiusY = radiusYParam; |
+ rotationAngle = rotationAngleParam; |
+ force = forceParam; |
} |
}; |
-class SyntheticInspectorTouchEvent : public blink::PlatformTouchEvent { |
+class SyntheticInspectorTouchEvent : public blink::WebTouchEvent { |
public: |
- SyntheticInspectorTouchEvent(const blink::PlatformEvent::EventType type, |
+ SyntheticInspectorTouchEvent(const blink::WebInputEvent::Type type, |
unsigned modifiers, |
TimeTicks timestamp) { |
m_type = type; |
m_modifiers = modifiers; |
- m_timestamp = timestamp; |
+ m_timeStampSeconds = timestamp.InSeconds(); |
} |
- void append(const blink::PlatformTouchPoint& point) { |
- m_touchPoints.push_back(point); |
+ void append(const blink::WebTouchPoint& point) { |
+ if (touchesLength < kTouchesLengthCap) { |
+ touches[touchesLength] = point; |
+ touchesLength++; |
+ } |
} |
}; |
@@ -146,13 +149,13 @@ Response InspectorInputAgent::dispatchTouchEvent( |
std::unique_ptr<protocol::Array<protocol::Input::TouchPoint>> touchPoints, |
protocol::Maybe<int> modifiers, |
protocol::Maybe<double> timestamp) { |
- PlatformEvent::EventType convertedType; |
+ WebInputEvent::Type convertedType; |
if (type == "touchStart") |
- convertedType = PlatformEvent::TouchStart; |
+ convertedType = WebInputEvent::TouchStart; |
else if (type == "touchEnd") |
- convertedType = PlatformEvent::TouchEnd; |
+ convertedType = WebInputEvent::TouchEnd; |
else if (type == "touchMove") |
- convertedType = PlatformEvent::TouchMove; |
+ convertedType = WebInputEvent::TouchMove; |
else |
return Response::Error(String("Unrecognized type: " + type)); |
@@ -184,18 +187,18 @@ Response InspectorInputAgent::dispatchTouchEvent( |
"integer ids."); |
} |
- PlatformTouchPoint::TouchState convertedState; |
+ WebTouchPoint::State convertedState; |
String state = point->getState(); |
if (state == "touchPressed") |
- convertedState = PlatformTouchPoint::TouchPressed; |
+ convertedState = WebTouchPoint::StatePressed; |
else if (state == "touchReleased") |
- convertedState = PlatformTouchPoint::TouchReleased; |
+ convertedState = WebTouchPoint::StateReleased; |
else if (state == "touchMoved") |
- convertedState = PlatformTouchPoint::TouchMoved; |
+ convertedState = WebTouchPoint::StateMoved; |
else if (state == "touchStationary") |
- convertedState = PlatformTouchPoint::TouchStationary; |
+ convertedState = WebTouchPoint::StateStationary; |
else if (state == "touchCancelled") |
- convertedState = PlatformTouchPoint::TouchCancelled; |
+ convertedState = WebTouchPoint::StateCancelled; |
else |
return Response::Error(String("Unrecognized state: " + state)); |
@@ -212,9 +215,14 @@ Response InspectorInputAgent::dispatchTouchEvent( |
event.append(touchPoint); |
} |
+ // The generated touchpoints are in root frame co-ordinates |
+ // so set the scale to 1 and the the translation to zero. |
+ event.setFrameScale(1); |
+ event.setFrameTranslate(WebFloatPoint()); |
+ |
// TODO: We need to add the support for generating coalesced events in |
// the devtools. |
- Vector<PlatformTouchEvent> coalescedEvents; |
+ Vector<WebTouchEvent> coalescedEvents; |
m_inspectedFrames->root()->eventHandler().handleTouchEvent(event, |
coalescedEvents); |