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

Side by Side Diff: content/renderer/pepper/event_conversion.cc

Issue 2782893002: WebMouseEvent coordinates are now fractional & private (Closed)
Patch Set: Rebased, fixed a comment in web_input_event_builders_mac.mm 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 (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/renderer/pepper/event_conversion.h" 5 #include "content/renderer/pepper/event_conversion.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <string.h> 9 #include <string.h>
10 10
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 206
207 const WebMouseEvent& mouse_event = static_cast<const WebMouseEvent&>(event); 207 const WebMouseEvent& mouse_event = static_cast<const WebMouseEvent&>(event);
208 InputEventData result = GetEventWithCommonFieldsAndType(event); 208 InputEventData result = GetEventWithCommonFieldsAndType(event);
209 result.event_modifiers = ConvertEventModifiers(mouse_event.modifiers()); 209 result.event_modifiers = ConvertEventModifiers(mouse_event.modifiers());
210 if (mouse_event.type() == WebInputEvent::MouseDown || 210 if (mouse_event.type() == WebInputEvent::MouseDown ||
211 mouse_event.type() == WebInputEvent::MouseMove || 211 mouse_event.type() == WebInputEvent::MouseMove ||
212 mouse_event.type() == WebInputEvent::MouseUp) { 212 mouse_event.type() == WebInputEvent::MouseUp) {
213 result.mouse_button = 213 result.mouse_button =
214 static_cast<PP_InputEvent_MouseButton>(mouse_event.button); 214 static_cast<PP_InputEvent_MouseButton>(mouse_event.button);
215 } 215 }
216 result.mouse_position.x = mouse_event.x; 216 result.mouse_position.x = mouse_event.positionInWidget().x;
217 result.mouse_position.y = mouse_event.y; 217 result.mouse_position.y = mouse_event.positionInWidget().y;
218 result.mouse_click_count = mouse_event.clickCount; 218 result.mouse_click_count = mouse_event.clickCount;
219 result.mouse_movement.x = mouse_event.movementX; 219 result.mouse_movement.x = mouse_event.movementX;
220 result.mouse_movement.y = mouse_event.movementY; 220 result.mouse_movement.y = mouse_event.movementY;
221 result_events->push_back(result); 221 result_events->push_back(result);
222 } 222 }
223 223
224 void AppendMouseWheelEvent(const WebInputEvent& event, 224 void AppendMouseWheelEvent(const WebInputEvent& event,
225 std::vector<InputEventData>* result_events) { 225 std::vector<InputEventData>* result_events) {
226 const WebMouseWheelEvent& mouse_wheel_event = 226 const WebMouseWheelEvent& mouse_wheel_event =
227 static_cast<const WebMouseWheelEvent&>(event); 227 static_cast<const WebMouseWheelEvent&>(event);
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 mouse_event->pointerType = blink::WebPointerProperties::PointerType::Mouse; 459 mouse_event->pointerType = blink::WebPointerProperties::PointerType::Mouse;
460 mouse_event->button = static_cast<WebMouseEvent::Button>(event.mouse_button); 460 mouse_event->button = static_cast<WebMouseEvent::Button>(event.mouse_button);
461 if (mouse_event->type() == WebInputEvent::MouseMove) { 461 if (mouse_event->type() == WebInputEvent::MouseMove) {
462 if (mouse_event->modifiers() & WebInputEvent::LeftButtonDown) 462 if (mouse_event->modifiers() & WebInputEvent::LeftButtonDown)
463 mouse_event->button = WebMouseEvent::Button::Left; 463 mouse_event->button = WebMouseEvent::Button::Left;
464 else if (mouse_event->modifiers() & WebInputEvent::MiddleButtonDown) 464 else if (mouse_event->modifiers() & WebInputEvent::MiddleButtonDown)
465 mouse_event->button = WebMouseEvent::Button::Middle; 465 mouse_event->button = WebMouseEvent::Button::Middle;
466 else if (mouse_event->modifiers() & WebInputEvent::RightButtonDown) 466 else if (mouse_event->modifiers() & WebInputEvent::RightButtonDown)
467 mouse_event->button = WebMouseEvent::Button::Right; 467 mouse_event->button = WebMouseEvent::Button::Right;
468 } 468 }
469 mouse_event->x = event.mouse_position.x; 469 mouse_event->setPositionInWidget(event.mouse_position.x,
470 mouse_event->y = event.mouse_position.y; 470 event.mouse_position.y);
471 mouse_event->clickCount = event.mouse_click_count; 471 mouse_event->clickCount = event.mouse_click_count;
472 mouse_event->movementX = event.mouse_movement.x; 472 mouse_event->movementX = event.mouse_movement.x;
473 mouse_event->movementY = event.mouse_movement.y; 473 mouse_event->movementY = event.mouse_movement.y;
474 return mouse_event; 474 return mouse_event;
475 } 475 }
476 476
477 WebMouseWheelEvent* BuildMouseWheelEvent(const InputEventData& event) { 477 WebMouseWheelEvent* BuildMouseWheelEvent(const InputEventData& event) {
478 WebMouseWheelEvent* mouse_wheel_event = new WebMouseWheelEvent( 478 WebMouseWheelEvent* mouse_wheel_event = new WebMouseWheelEvent(
479 WebInputEvent::MouseWheel, event.event_modifiers, event.event_time_stamp); 479 WebInputEvent::MouseWheel, event.event_modifiers, event.event_time_stamp);
480 mouse_wheel_event->deltaX = event.wheel_delta.x; 480 mouse_wheel_event->deltaX = event.wheel_delta.x;
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 case PP_INPUTEVENT_TYPE_TOUCHSTART: 668 case PP_INPUTEVENT_TYPE_TOUCHSTART:
669 case PP_INPUTEVENT_TYPE_TOUCHMOVE: 669 case PP_INPUTEVENT_TYPE_TOUCHMOVE:
670 case PP_INPUTEVENT_TYPE_TOUCHEND: 670 case PP_INPUTEVENT_TYPE_TOUCHEND:
671 case PP_INPUTEVENT_TYPE_TOUCHCANCEL: 671 case PP_INPUTEVENT_TYPE_TOUCHCANCEL:
672 events.push_back(std::move(original_event)); 672 events.push_back(std::move(original_event));
673 break; 673 break;
674 674
675 case PP_INPUTEVENT_TYPE_WHEEL: { 675 case PP_INPUTEVENT_TYPE_WHEEL: {
676 WebMouseWheelEvent* web_mouse_wheel_event = 676 WebMouseWheelEvent* web_mouse_wheel_event =
677 static_cast<WebMouseWheelEvent*>(original_event.get()); 677 static_cast<WebMouseWheelEvent*>(original_event.get());
678 web_mouse_wheel_event->x = plugin_x; 678 web_mouse_wheel_event->setPositionInWidget(plugin_x, plugin_y);
679 web_mouse_wheel_event->y = plugin_y;
680 events.push_back(std::move(original_event)); 679 events.push_back(std::move(original_event));
681 break; 680 break;
682 } 681 }
683 682
684 case PP_INPUTEVENT_TYPE_RAWKEYDOWN: 683 case PP_INPUTEVENT_TYPE_RAWKEYDOWN:
685 case PP_INPUTEVENT_TYPE_KEYDOWN: 684 case PP_INPUTEVENT_TYPE_KEYDOWN:
686 case PP_INPUTEVENT_TYPE_KEYUP: { 685 case PP_INPUTEVENT_TYPE_KEYUP: {
687 // Windows key down events should always be "raw" to avoid an ASSERT. 686 // Windows key down events should always be "raw" to avoid an ASSERT.
688 #if defined(OS_WIN) 687 #if defined(OS_WIN)
689 WebKeyboardEvent* web_keyboard_event = 688 WebKeyboardEvent* web_keyboard_event =
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 return PP_INPUTEVENT_CLASS_TOUCH; 766 return PP_INPUTEVENT_CLASS_TOUCH;
768 case WebInputEvent::TouchScrollStarted: 767 case WebInputEvent::TouchScrollStarted:
769 return PP_InputEvent_Class(0); 768 return PP_InputEvent_Class(0);
770 default: 769 default:
771 CHECK(WebInputEvent::isGestureEventType(event.type())); 770 CHECK(WebInputEvent::isGestureEventType(event.type()));
772 return PP_InputEvent_Class(0); 771 return PP_InputEvent_Class(0);
773 } 772 }
774 } 773 }
775 774
776 } // namespace content 775 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/input/render_widget_input_handler.cc ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698