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

Unified Diff: third_party/WebKit/Source/core/dom/Touch.h

Issue 2507503002: Use touch events to report stylus events (Closed)
Patch Set: fixed unit test Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/dom/Touch.h
diff --git a/third_party/WebKit/Source/core/dom/Touch.h b/third_party/WebKit/Source/core/dom/Touch.h
index 95cd5fe4d223c4a0cbb5f70717b7b1b9efaf2720..5e35aa8e037146d310f50bf7ac64137537f4fd8f 100644
--- a/third_party/WebKit/Source/core/dom/Touch.h
+++ b/third_party/WebKit/Source/core/dom/Touch.h
@@ -35,6 +35,7 @@
#include "platform/geometry/FloatSize.h"
#include "platform/geometry/LayoutPoint.h"
#include "platform/heap/Handle.h"
+#include "public/platform/WebPointerProperties.h"
namespace blink {
@@ -54,17 +55,30 @@ class CORE_EXPORT Touch final : public GarbageCollectedFinalized<Touch>,
float rotationAngle,
float force,
String region) {
- return new Touch(frame, target, identifier, screenPos, pagePos, radius,
- rotationAngle, force, region);
+ WebPointerProperties properties;
+ properties.id = identifier;
+ properties.force = force;
+ return new Touch(frame, target, screenPos, pagePos, radius, rotationAngle,
+ region, properties);
+ }
+ static Touch* create(LocalFrame* frame,
+ EventTarget* target,
+ const FloatPoint& screenPos,
+ const FloatPoint& pagePos,
+ const FloatSize& radius,
+ float rotationAngle,
+ String region,
+ const WebPointerProperties& properties) {
+ return new Touch(frame, target, screenPos, pagePos, radius, rotationAngle,
+ region, properties);
}
-
static Touch* create(const Document& document, const TouchInit& initializer) {
return new Touch(document.frame(), initializer);
}
// DOM Touch implementation
EventTarget* target() const { return m_target.get(); }
- int identifier() const { return m_identifier; }
+ int identifier() const { return m_pointerProperties.id; }
double clientX() const { return m_clientPos.x(); }
double clientY() const { return m_clientPos.y(); }
double screenX() const { return m_screenPos.x(); }
@@ -74,42 +88,42 @@ class CORE_EXPORT Touch final : public GarbageCollectedFinalized<Touch>,
float radiusX() const { return m_radius.width(); }
float radiusY() const { return m_radius.height(); }
float rotationAngle() const { return m_rotationAngle; }
- float force() const { return m_force; }
+ float force() const { return m_pointerProperties.force; }
const String& region() const { return m_region; }
// Blink-internal methods
const LayoutPoint& absoluteLocation() const { return m_absoluteLocation; }
const FloatPoint& screenLocation() const { return m_screenPos; }
Touch* cloneWithNewTarget(EventTarget*) const;
+ const WebPointerProperties& pointerProperties() const {
+ return m_pointerProperties;
+ }
DECLARE_TRACE();
private:
Touch(LocalFrame*,
EventTarget*,
- int identifier,
const FloatPoint& screenPos,
const FloatPoint& pagePos,
const FloatSize& radius,
float rotationAngle,
- float force,
- String region);
+ String region,
+ const WebPointerProperties&);
mustaq 2016/11/17 21:24:57 I agree with Navid here: it's better to remove the
denniskempin 2016/11/28 19:40:48 Besides not having hardware that supports this, th
Touch(EventTarget*,
- int identifier,
const FloatPoint& clientPos,
const FloatPoint& screenPos,
const FloatPoint& pagePos,
const FloatSize& radius,
float rotationAngle,
- float force,
String region,
+ const WebPointerProperties&,
LayoutPoint absoluteLocation);
Touch(LocalFrame*, const TouchInit&);
Member<EventTarget> m_target;
- int m_identifier;
// Position relative to the viewport in CSS px.
FloatPoint m_clientPos;
// Position relative to the screen in DIPs.
@@ -119,12 +133,12 @@ class CORE_EXPORT Touch final : public GarbageCollectedFinalized<Touch>,
// Radius in CSS px.
FloatSize m_radius;
float m_rotationAngle;
- float m_force;
String m_region;
// FIXME(rbyers): Shouldn't we be able to migrate callers to relying on
// screenPos, pagePos or clientPos? absoluteLocation appears to be the same as
// pagePos but without browser scale applied.
LayoutPoint m_absoluteLocation;
+ WebPointerProperties m_pointerProperties;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698