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

Unified Diff: third_party/WebKit/Source/core/events/PointerEventManager.cpp

Issue 1617863002: Set the correct pressure for pointer events based on force (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove a typo Created 4 years, 11 months 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/events/PointerEventManager.cpp
diff --git a/third_party/WebKit/Source/core/events/PointerEventManager.cpp b/third_party/WebKit/Source/core/events/PointerEventManager.cpp
index bca636912200e463fb450b42f244c4c4be7edcd3..3b6414415c80268e86bd483b1aa5feb68b7f78e5 100644
--- a/third_party/WebKit/Source/core/events/PointerEventManager.cpp
+++ b/third_party/WebKit/Source/core/events/PointerEventManager.cpp
@@ -39,6 +39,13 @@ EventTarget* PointerEventManager::getCapturingNode(PassRefPtrWillBeRawPtr<Pointe
return nullptr;
}
+float getPointerEventPressure(float force, int buttons)
+{
+ if (isnan(force))
+ return buttons ? 0.5 : 0;
+ return force;
+}
+
void PointerEventManager::setIdAndType(PointerEventInit &pointerEventInit,
const WebPointerProperties &pointerProperties)
{
@@ -65,6 +72,8 @@ PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::create(const AtomicStr
pointerEventInit.setButton(mouseEvent.button());
pointerEventInit.setButtons(MouseEvent::platformModifiersToButtons(mouseEvent.modifiers()));
+ pointerEventInit.setPressure(getPointerEventPressure(
+ mouseEvent.pointerProperties().force, pointerEventInit.buttons()));
UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, mouseEvent.modifiers());
@@ -98,7 +107,6 @@ PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::create(const AtomicStr
pointerEventInit.setWidth(width);
pointerEventInit.setHeight(height);
- pointerEventInit.setPressure(touchPoint.force());
pointerEventInit.setTiltX(touchPoint.pointerProperties().tiltX);
pointerEventInit.setTiltY(touchPoint.pointerProperties().tiltY);
pointerEventInit.setScreenX(touchPoint.screenPos().x());
@@ -107,6 +115,8 @@ PassRefPtrWillBeRawPtr<PointerEvent> PointerEventManager::create(const AtomicStr
pointerEventInit.setClientY(clientY);
pointerEventInit.setButton(0);
pointerEventInit.setButtons(pointerReleasedOrCancelled ? 0 : 1);
+ pointerEventInit.setPressure(getPointerEventPressure(
+ touchPoint.force(), pointerEventInit.buttons()));
UIEventWithKeyState::setFromPlatformModifiers(pointerEventInit, modifiers);

Powered by Google App Engine
This is Rietveld 408576698