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

Side by Side Diff: content/browser/renderer_host/input/synthetic_gesture_target_base.cc

Issue 1884883005: Prepare SyntheticPointerAction to handle touch actions for multiple fingers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modify comments Created 4 years, 7 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 "type", WebInputEventTraits::GetName(event.type)); 48 "type", WebInputEventTraits::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 if (web_touch.type == WebInputEvent::TouchStart) { 58 for (unsigned i = 0; i < web_touch.touchesLength; i++)
59 for (unsigned i = 0; i < web_touch.touchesLength; i++) 59 CHECK(web_touch.touches[i].state != WebTouchPoint::StatePressed ||
60 CHECK(web_touch.touches[i].state != WebTouchPoint::StatePressed || 60 PointIsWithinContents(web_touch.touches[i].position.x,
61 PointIsWithinContents(web_touch.touches[i].position.x, 61 web_touch.touches[i].position.y))
62 web_touch.touches[i].position.y)) 62 << "Touch coordinates are not within content bounds on TouchStart.";
63 << "Touch coordinates are not within content bounds on TouchStart.";
64 }
65 63
66 DispatchWebTouchEventToPlatform(web_touch, latency_info); 64 DispatchWebTouchEventToPlatform(web_touch, latency_info);
67 } else if (event.type == WebInputEvent::MouseWheel) { 65 } else if (event.type == WebInputEvent::MouseWheel) {
68 const WebMouseWheelEvent& web_wheel = 66 const WebMouseWheelEvent& web_wheel =
69 static_cast<const WebMouseWheelEvent&>(event); 67 static_cast<const WebMouseWheelEvent&>(event);
70 CHECK(PointIsWithinContents(web_wheel.x, web_wheel.y)) 68 CHECK(PointIsWithinContents(web_wheel.x, web_wheel.y))
71 << "Mouse wheel position is not within content bounds."; 69 << "Mouse wheel position is not within content bounds.";
72 DispatchWebMouseWheelEventToPlatform(web_wheel, latency_info); 70 DispatchWebMouseWheelEventToPlatform(web_wheel, latency_info);
73 } else if (WebInputEvent::isMouseEventType(event.type)) { 71 } else if (WebInputEvent::isMouseEventType(event.type)) {
74 const WebMouseEvent& web_mouse = 72 const WebMouseEvent& web_mouse =
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 return 0.0f; 126 return 0.0f;
129 } 127 }
130 128
131 bool SyntheticGestureTargetBase::PointIsWithinContents(int x, int y) const { 129 bool SyntheticGestureTargetBase::PointIsWithinContents(int x, int y) const {
132 gfx::Rect bounds = host_->GetView()->GetViewBounds(); 130 gfx::Rect bounds = host_->GetView()->GetViewBounds();
133 bounds -= bounds.OffsetFromOrigin(); // Translate the bounds to (0,0). 131 bounds -= bounds.OffsetFromOrigin(); // Translate the bounds to (0,0).
134 return bounds.Contains(x, y); 132 return bounds.Contains(x, y);
135 } 133 }
136 134
137 } // namespace content 135 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698