OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/render_widget_host_input_event_router.h" | 5 #include "content/browser/renderer_host/render_widget_host_input_event_router.h" |
6 | 6 |
7 #include "cc/quads/surface_draw_quad.h" | 7 #include "cc/quads/surface_draw_quad.h" |
8 #include "cc/surfaces/surface_id_allocator.h" | 8 #include "cc/surfaces/surface_id_allocator.h" |
9 #include "cc/surfaces/surface_manager.h" | 9 #include "cc/surfaces/surface_manager.h" |
10 #include "content/browser/renderer_host/render_widget_host_impl.h" | 10 #include "content/browser/renderer_host/render_widget_host_impl.h" |
11 #include "content/browser/renderer_host/render_widget_host_view_base.h" | 11 #include "content/browser/renderer_host/render_widget_host_view_base.h" |
12 #include "content/common/frame_messages.h" | 12 #include "content/common/frame_messages.h" |
| 13 #include "content/public/browser/render_widget_host.h" |
13 #include "third_party/WebKit/public/web/WebInputEvent.h" | 14 #include "third_party/WebKit/public/web/WebInputEvent.h" |
14 | 15 |
15 namespace { | 16 namespace { |
16 | 17 |
17 void TransformEventTouchPositions(blink::WebTouchEvent* event, | 18 void TransformEventTouchPositions(blink::WebTouchEvent* event, |
18 const gfx::Vector2d& delta) { | 19 const gfx::Vector2d& delta) { |
19 for (unsigned i = 0; i < event->touchesLength; ++i) { | 20 for (unsigned i = 0; i < event->touchesLength; ++i) { |
20 event->touches[i].position.x += delta.x(); | 21 event->touches[i].position.x += delta.x(); |
21 event->touches[i].position.y += delta.y(); | 22 event->touches[i].position.y += delta.y(); |
22 } | 23 } |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 void RenderWidgetHostInputEventRouter::OnHittestData( | 386 void RenderWidgetHostInputEventRouter::OnHittestData( |
386 const FrameHostMsg_HittestData_Params& params) { | 387 const FrameHostMsg_HittestData_Params& params) { |
387 if (owner_map_.find(params.surface_id.client_id()) == owner_map_.end()) { | 388 if (owner_map_.find(params.surface_id.client_id()) == owner_map_.end()) { |
388 return; | 389 return; |
389 } | 390 } |
390 HittestData data; | 391 HittestData data; |
391 data.ignored_for_hittest = params.ignored_for_hittest; | 392 data.ignored_for_hittest = params.ignored_for_hittest; |
392 hittest_data_[params.surface_id] = data; | 393 hittest_data_[params.surface_id] = data; |
393 } | 394 } |
394 | 395 |
| 396 #if defined(OS_MACOSX) |
| 397 RenderWidgetHost* RenderWidgetHostInputEventRouter::GetRenderWidgetHostAtPos( |
| 398 RenderWidgetHostViewBase* root_view, |
| 399 const gfx::Point& point, |
| 400 gfx::Point* transformed_point) { |
| 401 RenderWidgetHostViewBase* view = |
| 402 FindEventTarget(root_view, point, transformed_point); |
| 403 return view ? view->GetRenderWidgetHost() : nullptr; |
| 404 } |
| 405 #endif |
| 406 |
395 void RenderWidgetHostInputEventRouter::RouteTouchscreenGestureEvent( | 407 void RenderWidgetHostInputEventRouter::RouteTouchscreenGestureEvent( |
396 RenderWidgetHostViewBase* root_view, | 408 RenderWidgetHostViewBase* root_view, |
397 blink::WebGestureEvent* event, | 409 blink::WebGestureEvent* event, |
398 const ui::LatencyInfo& latency) { | 410 const ui::LatencyInfo& latency) { |
399 DCHECK_EQ(blink::WebGestureDeviceTouchscreen, event->sourceDevice); | 411 DCHECK_EQ(blink::WebGestureDeviceTouchscreen, event->sourceDevice); |
400 | 412 |
401 if (event->type == blink::WebInputEvent::GesturePinchBegin) { | 413 if (event->type == blink::WebInputEvent::GesturePinchBegin) { |
402 in_touchscreen_gesture_pinch_ = true; | 414 in_touchscreen_gesture_pinch_ = true; |
403 // If the root view wasn't already receiving the gesture stream, then we | 415 // If the root view wasn't already receiving the gesture stream, then we |
404 // need to wrap the diverted pinch events in a GestureScrollBegin/End. | 416 // need to wrap the diverted pinch events in a GestureScrollBegin/End. |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 if (!touchpad_gesture_target_.target) | 516 if (!touchpad_gesture_target_.target) |
505 return; | 517 return; |
506 | 518 |
507 // TODO(mohsen): Add tests to check event location. | 519 // TODO(mohsen): Add tests to check event location. |
508 event->x += touchpad_gesture_target_.delta.x(); | 520 event->x += touchpad_gesture_target_.delta.x(); |
509 event->y += touchpad_gesture_target_.delta.y(); | 521 event->y += touchpad_gesture_target_.delta.y(); |
510 touchpad_gesture_target_.target->ProcessGestureEvent(*event, latency); | 522 touchpad_gesture_target_.target->ProcessGestureEvent(*event, latency); |
511 } | 523 } |
512 | 524 |
513 } // namespace content | 525 } // namespace content |
OLD | NEW |