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

Side by Side Diff: content/browser/renderer_host/web_input_event_aura.cc

Issue 2016383002: Set PointerType of pointer event on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2743
Patch Set: Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/web_input_event_aura.h" 5 #include "content/browser/renderer_host/web_input_event_aura.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "content/browser/renderer_host/input/web_input_event_util.h" 8 #include "content/browser/renderer_host/input/web_input_event_util.h"
9 #include "content/browser/renderer_host/ui_events_helper.h" 9 #include "content/browser/renderer_host/ui_events_helper.h"
10 #include "ui/aura/client/screen_position_client.h" 10 #include "ui/aura/client/screen_position_client.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 } 49 }
50 NOTREACHED() << "Unexpected EventPointerType"; 50 NOTREACHED() << "Unexpected EventPointerType";
51 return blink::WebPointerProperties::PointerType::Unknown; 51 return blink::WebPointerProperties::PointerType::Unknown;
52 } 52 }
53 53
54 } // namespace 54 } // namespace
55 55
56 #if defined(OS_WIN) 56 #if defined(OS_WIN)
57 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent( 57 blink::WebMouseEvent MakeUntranslatedWebMouseEventFromNativeEvent(
58 const base::NativeEvent& native_event, 58 const base::NativeEvent& native_event,
59 const base::TimeDelta& time_stamp); 59 const base::TimeDelta& time_stamp,
60 blink::WebPointerProperties::PointerType pointer_type);
60 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent( 61 blink::WebMouseWheelEvent MakeUntranslatedWebMouseWheelEventFromNativeEvent(
61 const base::NativeEvent& native_event, 62 const base::NativeEvent& native_event,
62 const base::TimeDelta& time_stamp); 63 const base::TimeDelta& time_stamp,
64 blink::WebPointerProperties::PointerType pointer_type);
63 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( 65 blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent(
64 const base::NativeEvent& native_event, 66 const base::NativeEvent& native_event,
65 const base::TimeDelta& time_stamp); 67 const base::TimeDelta& time_stamp);
66 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent( 68 blink::WebGestureEvent MakeWebGestureEventFromNativeEvent(
67 const base::NativeEvent& native_event, 69 const base::NativeEvent& native_event,
68 const base::TimeDelta& time_stamp); 70 const base::TimeDelta& time_stamp);
69 #endif 71 #endif
70 72
71 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( 73 blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent(
72 const ui::KeyEvent& event) { 74 const ui::KeyEvent& event) {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 offset_ordinal_x = event.x_offset_ordinal(); 133 offset_ordinal_x = event.x_offset_ordinal();
132 offset_ordinal_y = event.y_offset_ordinal(); 134 offset_ordinal_y = event.y_offset_ordinal();
133 } 135 }
134 136
135 if (offset_ordinal_x != 0.f && webkit_event.deltaX != 0.f) 137 if (offset_ordinal_x != 0.f && webkit_event.deltaX != 0.f)
136 webkit_event.accelerationRatioX = offset_ordinal_x / webkit_event.deltaX; 138 webkit_event.accelerationRatioX = offset_ordinal_x / webkit_event.deltaX;
137 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick; 139 webkit_event.wheelTicksX = webkit_event.deltaX / kPixelsPerTick;
138 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick; 140 webkit_event.wheelTicksY = webkit_event.deltaY / kPixelsPerTick;
139 if (offset_ordinal_y != 0.f && webkit_event.deltaY != 0.f) 141 if (offset_ordinal_y != 0.f && webkit_event.deltaY != 0.f)
140 webkit_event.accelerationRatioY = offset_ordinal_y / webkit_event.deltaY; 142 webkit_event.accelerationRatioY = offset_ordinal_y / webkit_event.deltaY;
143
144 webkit_event.pointerType =
145 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
141 return webkit_event; 146 return webkit_event;
142 } 147 }
143 148
144 blink::WebGestureEvent MakeWebGestureEventFromAuraEvent( 149 blink::WebGestureEvent MakeWebGestureEventFromAuraEvent(
145 const ui::ScrollEvent& event) { 150 const ui::ScrollEvent& event) {
146 blink::WebGestureEvent webkit_event; 151 blink::WebGestureEvent webkit_event;
147 152
148 switch (event.type()) { 153 switch (event.type()) {
149 case ui::ET_SCROLL_FLING_START: 154 case ui::ET_SCROLL_FLING_START:
150 webkit_event.type = blink::WebInputEvent::GestureFlingStart; 155 webkit_event.type = blink::WebInputEvent::GestureFlingStart;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 // ui::MouseEvent. This will not be necessary once only XInput2 is supported. 200 // ui::MouseEvent. This will not be necessary once only XInput2 is supported.
196 // 201 //
197 202
198 blink::WebMouseEvent MakeWebMouseEvent(const ui::MouseEvent& event) { 203 blink::WebMouseEvent MakeWebMouseEvent(const ui::MouseEvent& event) {
199 // Construct an untranslated event from the platform event data. 204 // Construct an untranslated event from the platform event data.
200 blink::WebMouseEvent webkit_event = 205 blink::WebMouseEvent webkit_event =
201 #if defined(OS_WIN) 206 #if defined(OS_WIN)
202 // On Windows we have WM_ events comming from desktop and pure aura 207 // On Windows we have WM_ events comming from desktop and pure aura
203 // events comming from metro mode. 208 // events comming from metro mode.
204 event.native_event().message && (event.type() != ui::ET_MOUSE_EXITED) 209 event.native_event().message && (event.type() != ui::ET_MOUSE_EXITED)
205 ? MakeUntranslatedWebMouseEventFromNativeEvent(event.native_event(), 210 ? MakeUntranslatedWebMouseEventFromNativeEvent(
206 event.time_stamp()) 211 event.native_event(), event.time_stamp(),
212 EventPointerTypeToWebPointerType(
213 event.pointer_details().pointer_type))
207 : MakeWebMouseEventFromAuraEvent(event); 214 : MakeWebMouseEventFromAuraEvent(event);
208 #else 215 #else
209 MakeWebMouseEventFromAuraEvent(event); 216 MakeWebMouseEventFromAuraEvent(event);
210 #endif 217 #endif
211 // Replace the event's coordinate fields with translated position data from 218 // Replace the event's coordinate fields with translated position data from
212 // |event|. 219 // |event|.
213 webkit_event.windowX = webkit_event.x = event.x(); 220 webkit_event.windowX = webkit_event.x = event.x();
214 webkit_event.windowY = webkit_event.y = event.y(); 221 webkit_event.windowY = webkit_event.y = event.y();
215 222
216 #if defined(OS_WIN) 223 #if defined(OS_WIN)
217 if (event.native_event().message) 224 if (event.native_event().message)
218 return webkit_event; 225 return webkit_event;
219 #endif 226 #endif
220 const gfx::Point screen_point = GetScreenLocationFromEvent(event); 227 const gfx::Point screen_point = GetScreenLocationFromEvent(event);
221 webkit_event.globalX = screen_point.x(); 228 webkit_event.globalX = screen_point.x();
222 webkit_event.globalY = screen_point.y(); 229 webkit_event.globalY = screen_point.y();
223 230
224 return webkit_event; 231 return webkit_event;
225 } 232 }
226 233
227 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( 234 blink::WebMouseWheelEvent MakeWebMouseWheelEvent(
228 const ui::MouseWheelEvent& event) { 235 const ui::MouseWheelEvent& event) {
229 #if defined(OS_WIN) 236 #if defined(OS_WIN)
230 // Construct an untranslated event from the platform event data. 237 // Construct an untranslated event from the platform event data.
231 blink::WebMouseWheelEvent webkit_event = 238 blink::WebMouseWheelEvent webkit_event =
232 event.native_event().message 239 event.native_event().message
233 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( 240 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
234 event.native_event(), event.time_stamp()) 241 event.native_event(), event.time_stamp(),
242 EventPointerTypeToWebPointerType(
243 event.pointer_details().pointer_type))
235 : MakeWebMouseWheelEventFromAuraEvent(event); 244 : MakeWebMouseWheelEventFromAuraEvent(event);
236 #else 245 #else
237 blink::WebMouseWheelEvent webkit_event = 246 blink::WebMouseWheelEvent webkit_event =
238 MakeWebMouseWheelEventFromAuraEvent(event); 247 MakeWebMouseWheelEventFromAuraEvent(event);
239 #endif 248 #endif
240 249
241 // Replace the event's coordinate fields with translated position data from 250 // Replace the event's coordinate fields with translated position data from
242 // |event|. 251 // |event|.
243 webkit_event.windowX = webkit_event.x = event.x(); 252 webkit_event.windowX = webkit_event.x = event.x();
244 webkit_event.windowY = webkit_event.y = event.y(); 253 webkit_event.windowY = webkit_event.y = event.y();
(...skipping 12 matching lines...) Expand all
257 266
258 return webkit_event; 267 return webkit_event;
259 } 268 }
260 269
261 blink::WebMouseWheelEvent MakeWebMouseWheelEvent(const ui::ScrollEvent& event) { 270 blink::WebMouseWheelEvent MakeWebMouseWheelEvent(const ui::ScrollEvent& event) {
262 #if defined(OS_WIN) 271 #if defined(OS_WIN)
263 // Construct an untranslated event from the platform event data. 272 // Construct an untranslated event from the platform event data.
264 blink::WebMouseWheelEvent webkit_event = 273 blink::WebMouseWheelEvent webkit_event =
265 event.native_event().message 274 event.native_event().message
266 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( 275 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
267 event.native_event(), event.time_stamp()) 276 event.native_event(), event.time_stamp(),
277 EventPointerTypeToWebPointerType(
278 event.pointer_details().pointer_type))
268 : MakeWebMouseWheelEventFromAuraEvent(event); 279 : MakeWebMouseWheelEventFromAuraEvent(event);
269 #else 280 #else
270 blink::WebMouseWheelEvent webkit_event = 281 blink::WebMouseWheelEvent webkit_event =
271 MakeWebMouseWheelEventFromAuraEvent(event); 282 MakeWebMouseWheelEventFromAuraEvent(event);
272 #endif 283 #endif
273 284
274 // Replace the event's coordinate fields with translated position data from 285 // Replace the event's coordinate fields with translated position data from
275 // |event|. 286 // |event|.
276 webkit_event.windowX = webkit_event.x = event.x(); 287 webkit_event.windowX = webkit_event.x = event.x();
277 webkit_event.windowY = webkit_event.y = event.y(); 288 webkit_event.windowY = webkit_event.y = event.y();
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 webkit_event.tiltX = roundf(event.pointer_details().tilt_x); 443 webkit_event.tiltX = roundf(event.pointer_details().tilt_x);
433 webkit_event.tiltY = roundf(event.pointer_details().tilt_y); 444 webkit_event.tiltY = roundf(event.pointer_details().tilt_y);
434 webkit_event.force = event.pointer_details().force; 445 webkit_event.force = event.pointer_details().force;
435 webkit_event.pointerType = 446 webkit_event.pointerType =
436 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); 447 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
437 448
438 return webkit_event; 449 return webkit_event;
439 } 450 }
440 451
441 } // namespace content 452 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698