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

Side by Side Diff: content/browser/renderer_host/input/synthetic_gesture_target_base.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/input/synthetic_gesture_target_base.h" 5 #include "content/browser/renderer_host/input/synthetic_gesture_target_base.h"
6 6
7 #include "content/browser/renderer_host/render_widget_host_impl.h" 7 #include "content/browser/renderer_host/render_widget_host_impl.h"
8 #include "content/browser/renderer_host/render_widget_host_view_base.h" 8 #include "content/browser/renderer_host/render_widget_host_view_base.h"
9 #include "content/browser/renderer_host/ui_events_helper.h" 9 #include "content/browser/renderer_host/ui_events_helper.h"
10 #include "content/common/input_messages.h" 10 #include "content/common/input_messages.h"
(...skipping 27 matching lines...) Expand all
38 : host_(host) { 38 : host_(host) {
39 DCHECK(host); 39 DCHECK(host);
40 } 40 }
41 41
42 SyntheticGestureTargetBase::~SyntheticGestureTargetBase() { 42 SyntheticGestureTargetBase::~SyntheticGestureTargetBase() {
43 } 43 }
44 44
45 void SyntheticGestureTargetBase::DispatchInputEventToPlatform( 45 void SyntheticGestureTargetBase::DispatchInputEventToPlatform(
46 const WebInputEvent& event) { 46 const WebInputEvent& event) {
47 TRACE_EVENT1("input", "SyntheticGestureTarget::DispatchInputEventToPlatform", 47 TRACE_EVENT1("input", "SyntheticGestureTarget::DispatchInputEventToPlatform",
48 "type", WebInputEvent::GetName(event.type)); 48 "type", WebInputEvent::GetName(event.type()));
49 49
50 ui::LatencyInfo latency_info; 50 ui::LatencyInfo latency_info;
51 latency_info.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); 51 latency_info.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0);
52 52
53 if (WebInputEvent::isTouchEventType(event.type)) { 53 if (WebInputEvent::isTouchEventType(event.type())) {
54 const WebTouchEvent& web_touch = 54 const WebTouchEvent& web_touch =
55 static_cast<const WebTouchEvent&>(event); 55 static_cast<const WebTouchEvent&>(event);
56 56
57 // Check that all touch pointers are within the content bounds. 57 // Check that all touch pointers are within the content bounds.
58 for (unsigned i = 0; i < web_touch.touchesLength; i++) 58 for (unsigned i = 0; i < web_touch.touchesLength; i++)
59 CHECK(web_touch.touches[i].state != WebTouchPoint::StatePressed || 59 CHECK(web_touch.touches[i].state != WebTouchPoint::StatePressed ||
60 PointIsWithinContents(web_touch.touches[i].position.x, 60 PointIsWithinContents(web_touch.touches[i].position.x,
61 web_touch.touches[i].position.y)) 61 web_touch.touches[i].position.y))
62 << "Touch coordinates are not within content bounds on TouchStart."; 62 << "Touch coordinates are not within content bounds on TouchStart.";
63 63
64 DispatchWebTouchEventToPlatform(web_touch, latency_info); 64 DispatchWebTouchEventToPlatform(web_touch, latency_info);
65 } else if (event.type == WebInputEvent::MouseWheel) { 65 } else if (event.type() == WebInputEvent::MouseWheel) {
66 const WebMouseWheelEvent& web_wheel = 66 const WebMouseWheelEvent& web_wheel =
67 static_cast<const WebMouseWheelEvent&>(event); 67 static_cast<const WebMouseWheelEvent&>(event);
68 CHECK(PointIsWithinContents(web_wheel.x, web_wheel.y)) 68 CHECK(PointIsWithinContents(web_wheel.x, web_wheel.y))
69 << "Mouse wheel position is not within content bounds."; 69 << "Mouse wheel position is not within content bounds.";
70 DispatchWebMouseWheelEventToPlatform(web_wheel, latency_info); 70 DispatchWebMouseWheelEventToPlatform(web_wheel, latency_info);
71 } else if (WebInputEvent::isMouseEventType(event.type)) { 71 } else if (WebInputEvent::isMouseEventType(event.type())) {
72 const WebMouseEvent& web_mouse = 72 const WebMouseEvent& web_mouse =
73 static_cast<const WebMouseEvent&>(event); 73 static_cast<const WebMouseEvent&>(event);
74 CHECK(event.type != WebInputEvent::MouseDown || 74 CHECK(event.type() != WebInputEvent::MouseDown ||
75 PointIsWithinContents(web_mouse.x, web_mouse.y)) 75 PointIsWithinContents(web_mouse.x, web_mouse.y))
76 << "Mouse pointer is not within content bounds on MouseDown."; 76 << "Mouse pointer is not within content bounds on MouseDown.";
77 DispatchWebMouseEventToPlatform(web_mouse, latency_info); 77 DispatchWebMouseEventToPlatform(web_mouse, latency_info);
78 } else { 78 } else {
79 NOTREACHED(); 79 NOTREACHED();
80 } 80 }
81 } 81 }
82 82
83 void SyntheticGestureTargetBase::DispatchWebTouchEventToPlatform( 83 void SyntheticGestureTargetBase::DispatchWebTouchEventToPlatform(
84 const blink::WebTouchEvent& web_touch, 84 const blink::WebTouchEvent& web_touch,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 return 0.0f; 126 return 0.0f;
127 } 127 }
128 128
129 bool SyntheticGestureTargetBase::PointIsWithinContents(int x, int y) const { 129 bool SyntheticGestureTargetBase::PointIsWithinContents(int x, int y) const {
130 gfx::Rect bounds = host_->GetView()->GetViewBounds(); 130 gfx::Rect bounds = host_->GetView()->GetViewBounds();
131 bounds -= bounds.OffsetFromOrigin(); // Translate the bounds to (0,0). 131 bounds -= bounds.OffsetFromOrigin(); // Translate the bounds to (0,0).
132 return bounds.Contains(x, y); 132 return bounds.Contains(x, y);
133 } 133 }
134 134
135 } // namespace content 135 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698