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

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

Issue 2573073003: Collapse the API surface on WebInputEvent via accessor functions. (Closed)
Patch Set: Fix nits Created 3 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 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/ui_events_helper.h" 5 #include "content/browser/renderer_host/ui_events_helper.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "content/common/input/web_touch_event_traits.h" 9 #include "content/common/input/web_touch_event_traits.h"
10 #include "third_party/WebKit/public/platform/WebInputEvent.h" 10 #include "third_party/WebKit/public/platform/WebInputEvent.h"
(...skipping 27 matching lines...) Expand all
38 } // namespace 38 } // namespace
39 39
40 namespace content { 40 namespace content {
41 41
42 bool MakeUITouchEventsFromWebTouchEvents( 42 bool MakeUITouchEventsFromWebTouchEvents(
43 const TouchEventWithLatencyInfo& touch_with_latency, 43 const TouchEventWithLatencyInfo& touch_with_latency,
44 ScopedVector<ui::TouchEvent>* list, 44 ScopedVector<ui::TouchEvent>* list,
45 TouchEventCoordinateSystem coordinate_system) { 45 TouchEventCoordinateSystem coordinate_system) {
46 const blink::WebTouchEvent& touch = touch_with_latency.event; 46 const blink::WebTouchEvent& touch = touch_with_latency.event;
47 ui::EventType type = ui::ET_UNKNOWN; 47 ui::EventType type = ui::ET_UNKNOWN;
48 switch (touch.type) { 48 switch (touch.type()) {
49 case blink::WebInputEvent::TouchStart: 49 case blink::WebInputEvent::TouchStart:
50 type = ui::ET_TOUCH_PRESSED; 50 type = ui::ET_TOUCH_PRESSED;
51 break; 51 break;
52 case blink::WebInputEvent::TouchEnd: 52 case blink::WebInputEvent::TouchEnd:
53 type = ui::ET_TOUCH_RELEASED; 53 type = ui::ET_TOUCH_RELEASED;
54 break; 54 break;
55 case blink::WebInputEvent::TouchMove: 55 case blink::WebInputEvent::TouchMove:
56 type = ui::ET_TOUCH_MOVED; 56 type = ui::ET_TOUCH_MOVED;
57 break; 57 break;
58 case blink::WebInputEvent::TouchCancel: 58 case blink::WebInputEvent::TouchCancel:
59 type = ui::ET_TOUCH_CANCELLED; 59 type = ui::ET_TOUCH_CANCELLED;
60 break; 60 break;
61 default: 61 default:
62 NOTREACHED(); 62 NOTREACHED();
63 return false; 63 return false;
64 } 64 }
65 65
66 int flags = ui::WebEventModifiersToEventFlags(touch.modifiers); 66 int flags = ui::WebEventModifiersToEventFlags(touch.modifiers());
67 base::TimeTicks timestamp = 67 base::TimeTicks timestamp =
68 ui::EventTimeStampFromSeconds(touch.timeStampSeconds); 68 ui::EventTimeStampFromSeconds(touch.timeStampSeconds());
69 for (unsigned i = 0; i < touch.touchesLength; ++i) { 69 for (unsigned i = 0; i < touch.touchesLength; ++i) {
70 const blink::WebTouchPoint& point = touch.touches[i]; 70 const blink::WebTouchPoint& point = touch.touches[i];
71 if (WebTouchPointStateToEventType(point.state) != type) 71 if (WebTouchPointStateToEventType(point.state) != type)
72 continue; 72 continue;
73 // ui events start in the co-ordinate space of the EventDispatcher. 73 // ui events start in the co-ordinate space of the EventDispatcher.
74 gfx::PointF location; 74 gfx::PointF location;
75 if (coordinate_system == LOCAL_COORDINATES) 75 if (coordinate_system == LOCAL_COORDINATES)
76 location = point.position; 76 location = point.position;
77 else 77 else
78 location = point.screenPosition; 78 location = point.screenPosition;
79 ui::TouchEvent* uievent = new ui::TouchEvent( 79 ui::TouchEvent* uievent = new ui::TouchEvent(
80 type, gfx::Point(), flags, point.id, timestamp, point.radiusX, 80 type, gfx::Point(), flags, point.id, timestamp, point.radiusX,
81 point.radiusY, point.rotationAngle, point.force); 81 point.radiusY, point.rotationAngle, point.force);
82 uievent->set_location_f(location); 82 uievent->set_location_f(location);
83 uievent->set_root_location_f(location); 83 uievent->set_root_location_f(location);
84 uievent->set_latency(touch_with_latency.latency); 84 uievent->set_latency(touch_with_latency.latency);
85 list->push_back(uievent); 85 list->push_back(uievent);
86 } 86 }
87 return true; 87 return true;
88 } 88 }
89 89
90 } // namespace content 90 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac_unittest.mm ('k') | content/browser/site_per_process_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698