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

Unified Diff: content/browser/renderer_host/input/web_input_event_builders_mac.mm

Issue 2373733002: Send pointerleave and pointerenter events for styluses on Mac (Closed)
Patch Set: Ready for review Created 4 years, 3 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: content/browser/renderer_host/input/web_input_event_builders_mac.mm
diff --git a/content/browser/renderer_host/input/web_input_event_builders_mac.mm b/content/browser/renderer_host/input/web_input_event_builders_mac.mm
index 45c37416b0d02e754e0700ceaed613b8fbff8bc2..b5b4c4c54f7ba4245f91b2bd2f34155552be8513 100644
--- a/content/browser/renderer_host/input/web_input_event_builders_mac.mm
+++ b/content/browser/renderer_host/input/web_input_event_builders_mac.mm
@@ -327,7 +327,10 @@ blink::WebKeyboardEvent WebKeyboardEventBuilder::Build(NSEvent* event) {
// WebMouseEvent --------------------------------------------------------------
-blink::WebMouseEvent WebMouseEventBuilder::Build(NSEvent* event, NSView* view) {
+blink::WebMouseEvent WebMouseEventBuilder::Build(
+ NSEvent* event,
+ NSView* view,
+ blink::WebPointerProperties::PointerType pointerType) {
blink::WebMouseEvent result;
result.clickCount = 0;
@@ -394,11 +397,11 @@ blink::WebMouseEvent WebMouseEventBuilder::Build(NSEvent* event, NSView* view) {
result.timeStampSeconds = [event timestamp];
- // For NSMouseExited and NSMouseEntered, they do not have a subtype. Styluses
- // and mouses share the same cursor, so we will set their pointerType as
- // Unknown for now.
+ // For NSMouseExited and NSMouseEntered events, they do not have a subtype.
+ // We decide their pointer types by checking if we recevied a
mustaq 2016/10/14 16:07:16 Please clarify that the check is done at the calle
+ // NSTabletProximity event.
if (type == NSMouseExited || type == NSMouseEntered) {
- result.pointerType = blink::WebPointerProperties::PointerType::Unknown;
+ result.pointerType = pointerType;
return result;
}
@@ -420,6 +423,10 @@ blink::WebMouseEvent WebMouseEventBuilder::Build(NSEvent* event, NSView* view) {
NSPoint tilt = [event tilt];
result.tiltX = lround(tilt.x * 90);
result.tiltY = lround(tilt.y * 90);
+ } else {
+ result.type = [event isEnteringProximity]
+ ? blink::WebInputEvent::MouseMove
+ : blink::WebInputEvent::MouseLeave;
}
return result;
}

Powered by Google App Engine
This is Rietveld 408576698