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

Side by Side Diff: ui/events/blink/web_input_event.cc

Issue 2782893002: WebMouseEvent coordinates are now fractional & private (Closed)
Patch Set: Fixed compile failures. Created 3 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ui/events/blink/web_input_event.h" 5 #include "ui/events/blink/web_input_event.h"
6 6
7 #include "ui/events/base_event_utils.h" 7 #include "ui/events/base_event_utils.h"
8 #include "ui/events/blink/blink_event_util.h" 8 #include "ui/events/blink/blink_event_util.h"
9 #include "ui/events/blink/blink_features.h" 9 #include "ui/events/blink/blink_features.h"
10 #include "ui/events/event.h" 10 #include "ui/events/event.h"
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 ? MakeUntranslatedWebMouseEventFromNativeEvent( 228 ? MakeUntranslatedWebMouseEventFromNativeEvent(
229 event.native_event(), event.time_stamp(), 229 event.native_event(), event.time_stamp(),
230 EventPointerTypeToWebPointerType( 230 EventPointerTypeToWebPointerType(
231 event.pointer_details().pointer_type)) 231 event.pointer_details().pointer_type))
232 : MakeWebMouseEventFromUiEvent(event); 232 : MakeWebMouseEventFromUiEvent(event);
233 #else 233 #else
234 MakeWebMouseEventFromUiEvent(event); 234 MakeWebMouseEventFromUiEvent(event);
235 #endif 235 #endif
236 // Replace the event's coordinate fields with translated position data from 236 // Replace the event's coordinate fields with translated position data from
237 // |event|. 237 // |event|.
238 webkit_event.x = event.x(); 238 webkit_event.position.x = event.x();
239 webkit_event.y = event.y(); 239 webkit_event.position.y = event.y();
240 240
241 #if defined(OS_WIN) 241 #if defined(OS_WIN)
242 if (event.native_event().message) 242 if (event.native_event().message)
243 return webkit_event; 243 return webkit_event;
244 #endif 244 #endif
245 245
246 const gfx::Point screen_point = 246 const gfx::Point screen_point =
247 GetScreenLocationFromEvent(event, screen_location_callback); 247 GetScreenLocationFromEvent(event, screen_location_callback);
248 webkit_event.globalX = screen_point.x(); 248 webkit_event.screenPosition.x = screen_point.x();
249 webkit_event.globalY = screen_point.y(); 249 webkit_event.screenPosition.y = screen_point.y();
250 250
251 return webkit_event; 251 return webkit_event;
252 } 252 }
253 253
254 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( 254 blink::WebMouseWheelEvent MakeWebMouseWheelEvent(
255 const MouseWheelEvent& event, 255 const MouseWheelEvent& event,
256 const base::Callback<gfx::Point(const LocatedEvent& event)>& 256 const base::Callback<gfx::Point(const LocatedEvent& event)>&
257 screen_location_callback) { 257 screen_location_callback) {
258 #if defined(OS_WIN) 258 #if defined(OS_WIN)
259 // Construct an untranslated event from the platform event data. 259 // Construct an untranslated event from the platform event data.
260 blink::WebMouseWheelEvent webkit_event = 260 blink::WebMouseWheelEvent webkit_event =
261 event.native_event().message 261 event.native_event().message
262 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( 262 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
263 event.native_event(), event.time_stamp(), 263 event.native_event(), event.time_stamp(),
264 EventPointerTypeToWebPointerType( 264 EventPointerTypeToWebPointerType(
265 event.pointer_details().pointer_type)) 265 event.pointer_details().pointer_type))
266 : MakeWebMouseWheelEventFromUiEvent(event); 266 : MakeWebMouseWheelEventFromUiEvent(event);
267 #else 267 #else
268 blink::WebMouseWheelEvent webkit_event = 268 blink::WebMouseWheelEvent webkit_event =
269 MakeWebMouseWheelEventFromUiEvent(event); 269 MakeWebMouseWheelEventFromUiEvent(event);
270 #endif 270 #endif
271 271
272 // Replace the event's coordinate fields with translated position data from 272 // Replace the event's coordinate fields with translated position data from
273 // |event|. 273 // |event|.
274 webkit_event.x = event.x(); 274 webkit_event.position.x = event.x();
275 webkit_event.y = event.y(); 275 webkit_event.position.y = event.y();
276 276
277 const gfx::Point screen_point = 277 const gfx::Point screen_point =
278 GetScreenLocationFromEvent(event, screen_location_callback); 278 GetScreenLocationFromEvent(event, screen_location_callback);
279 webkit_event.globalX = screen_point.x(); 279 webkit_event.screenPosition.x = screen_point.x();
280 webkit_event.globalY = screen_point.y(); 280 webkit_event.screenPosition.y = screen_point.y();
281 281
282 return webkit_event; 282 return webkit_event;
283 } 283 }
284 284
285 blink::WebMouseWheelEvent MakeWebMouseWheelEvent( 285 blink::WebMouseWheelEvent MakeWebMouseWheelEvent(
286 const ScrollEvent& event, 286 const ScrollEvent& event,
287 const base::Callback<gfx::Point(const LocatedEvent& event)>& 287 const base::Callback<gfx::Point(const LocatedEvent& event)>&
288 screen_location_callback) { 288 screen_location_callback) {
289 #if defined(OS_WIN) 289 #if defined(OS_WIN)
290 // Construct an untranslated event from the platform event data. 290 // Construct an untranslated event from the platform event data.
291 blink::WebMouseWheelEvent webkit_event = 291 blink::WebMouseWheelEvent webkit_event =
292 event.native_event().message 292 event.native_event().message
293 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent( 293 ? MakeUntranslatedWebMouseWheelEventFromNativeEvent(
294 event.native_event(), event.time_stamp(), 294 event.native_event(), event.time_stamp(),
295 EventPointerTypeToWebPointerType( 295 EventPointerTypeToWebPointerType(
296 event.pointer_details().pointer_type)) 296 event.pointer_details().pointer_type))
297 : MakeWebMouseWheelEventFromUiEvent(event); 297 : MakeWebMouseWheelEventFromUiEvent(event);
298 #else 298 #else
299 blink::WebMouseWheelEvent webkit_event = 299 blink::WebMouseWheelEvent webkit_event =
300 MakeWebMouseWheelEventFromUiEvent(event); 300 MakeWebMouseWheelEventFromUiEvent(event);
301 #endif 301 #endif
302 302
303 // Replace the event's coordinate fields with translated position data from 303 // Replace the event's coordinate fields with translated position data from
304 // |event|. 304 // |event|.
305 webkit_event.x = event.x(); 305 webkit_event.position.x = event.x();
306 webkit_event.y = event.y(); 306 webkit_event.position.y = event.y();
307 307
308 const gfx::Point screen_point = 308 const gfx::Point screen_point =
309 GetScreenLocationFromEvent(event, screen_location_callback); 309 GetScreenLocationFromEvent(event, screen_location_callback);
310 webkit_event.globalX = screen_point.x(); 310 webkit_event.screenPosition.x = screen_point.x();
311 webkit_event.globalY = screen_point.y(); 311 webkit_event.screenPosition.y = screen_point.y();
312 312
313 return webkit_event; 313 return webkit_event;
314 } 314 }
315 315
316 blink::WebKeyboardEvent MakeWebKeyboardEvent(const KeyEvent& event) { 316 blink::WebKeyboardEvent MakeWebKeyboardEvent(const KeyEvent& event) {
317 // Windows can figure out whether or not to construct a RawKeyDown or a Char 317 // Windows can figure out whether or not to construct a RawKeyDown or a Char
318 // WebInputEvent based on the type of message carried in 318 // WebInputEvent based on the type of message carried in
319 // event.native_event(). X11 is not so fortunate, there is no separate 319 // event.native_event(). X11 is not so fortunate, there is no separate
320 // translated event type, so DesktopHostLinux sends an extra KeyEvent with 320 // translated event type, so DesktopHostLinux sends an extra KeyEvent with
321 // is_char() == true. We need to pass the KeyEvent to the X11 function 321 // is_char() == true. We need to pass the KeyEvent to the X11 function
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 webkit_event.tiltX = roundf(event.pointer_details().tilt_x); 470 webkit_event.tiltX = roundf(event.pointer_details().tilt_x);
471 webkit_event.tiltY = roundf(event.pointer_details().tilt_y); 471 webkit_event.tiltY = roundf(event.pointer_details().tilt_y);
472 webkit_event.force = event.pointer_details().force; 472 webkit_event.force = event.pointer_details().force;
473 webkit_event.pointerType = 473 webkit_event.pointerType =
474 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type); 474 EventPointerTypeToWebPointerType(event.pointer_details().pointer_type);
475 475
476 return webkit_event; 476 return webkit_event;
477 } 477 }
478 478
479 } // namespace ui 479 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698