| 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/renderer/input/render_widget_input_handler.h" | 5 #include "content/renderer/input/render_widget_input_handler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 #endif | 37 #endif |
| 38 | 38 |
| 39 using blink::WebFloatPoint; | 39 using blink::WebFloatPoint; |
| 40 using blink::WebFloatSize; | 40 using blink::WebFloatSize; |
| 41 using blink::WebGestureEvent; | 41 using blink::WebGestureEvent; |
| 42 using blink::WebInputEvent; | 42 using blink::WebInputEvent; |
| 43 using blink::WebInputEventResult; | 43 using blink::WebInputEventResult; |
| 44 using blink::WebKeyboardEvent; | 44 using blink::WebKeyboardEvent; |
| 45 using blink::WebMouseEvent; | 45 using blink::WebMouseEvent; |
| 46 using blink::WebMouseWheelEvent; | 46 using blink::WebMouseWheelEvent; |
| 47 using blink::WebScrollBoundaryBehavior; |
| 47 using blink::WebTouchEvent; | 48 using blink::WebTouchEvent; |
| 48 using blink::WebTouchPoint; | 49 using blink::WebTouchPoint; |
| 49 using ui::DidOverscrollParams; | 50 using ui::DidOverscrollParams; |
| 50 | 51 |
| 51 namespace content { | 52 namespace content { |
| 52 | 53 |
| 53 namespace { | 54 namespace { |
| 54 | 55 |
| 55 int64_t GetEventLatencyMicros(double event_timestamp, base::TimeTicks now) { | 56 int64_t GetEventLatencyMicros(double event_timestamp, base::TimeTicks now) { |
| 56 return (now - base::TimeDelta::FromSecondsD(event_timestamp)) | 57 return (now - base::TimeDelta::FromSecondsD(event_timestamp)) |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 input_event.GetType() == WebInputEvent::kMouseUp)) { | 370 input_event.GetType() == WebInputEvent::kMouseUp)) { |
| 370 delegate_->FocusChangeComplete(); | 371 delegate_->FocusChangeComplete(); |
| 371 } | 372 } |
| 372 #endif | 373 #endif |
| 373 } | 374 } |
| 374 | 375 |
| 375 void RenderWidgetInputHandler::DidOverscrollFromBlink( | 376 void RenderWidgetInputHandler::DidOverscrollFromBlink( |
| 376 const WebFloatSize& overscrollDelta, | 377 const WebFloatSize& overscrollDelta, |
| 377 const WebFloatSize& accumulatedOverscroll, | 378 const WebFloatSize& accumulatedOverscroll, |
| 378 const WebFloatPoint& position, | 379 const WebFloatPoint& position, |
| 379 const WebFloatSize& velocity) { | 380 const WebFloatSize& velocity, |
| 381 const WebScrollBoundaryBehavior& behavior) { |
| 380 std::unique_ptr<DidOverscrollParams> params(new DidOverscrollParams()); | 382 std::unique_ptr<DidOverscrollParams> params(new DidOverscrollParams()); |
| 381 params->accumulated_overscroll = gfx::Vector2dF( | 383 params->accumulated_overscroll = gfx::Vector2dF( |
| 382 accumulatedOverscroll.width, accumulatedOverscroll.height); | 384 accumulatedOverscroll.width, accumulatedOverscroll.height); |
| 383 params->latest_overscroll_delta = | 385 params->latest_overscroll_delta = |
| 384 gfx::Vector2dF(overscrollDelta.width, overscrollDelta.height); | 386 gfx::Vector2dF(overscrollDelta.width, overscrollDelta.height); |
| 385 params->current_fling_velocity = | 387 params->current_fling_velocity = |
| 386 gfx::Vector2dF(velocity.width, velocity.height); | 388 gfx::Vector2dF(velocity.width, velocity.height); |
| 387 params->causal_event_viewport_point = gfx::PointF(position.x, position.y); | 389 params->causal_event_viewport_point = gfx::PointF(position.x, position.y); |
| 390 params->scroll_boundary_behavior = behavior; |
| 388 | 391 |
| 389 // If we're currently handling an event, stash the overscroll data such that | 392 // If we're currently handling an event, stash the overscroll data such that |
| 390 // it can be bundled in the event ack. | 393 // it can be bundled in the event ack. |
| 391 if (handling_event_overscroll_) { | 394 if (handling_event_overscroll_) { |
| 392 *handling_event_overscroll_ = std::move(params); | 395 *handling_event_overscroll_ = std::move(params); |
| 393 return; | 396 return; |
| 394 } | 397 } |
| 395 | 398 |
| 396 delegate_->OnDidOverscroll(*params); | 399 delegate_->OnDidOverscroll(*params); |
| 397 } | 400 } |
| 398 | 401 |
| 399 bool RenderWidgetInputHandler::ProcessTouchAction( | 402 bool RenderWidgetInputHandler::ProcessTouchAction( |
| 400 cc::TouchAction touch_action) { | 403 cc::TouchAction touch_action) { |
| 401 // Ignore setTouchAction calls that result from synthetic touch events (eg. | 404 // Ignore setTouchAction calls that result from synthetic touch events (eg. |
| 402 // when blink is emulating touch with mouse). | 405 // when blink is emulating touch with mouse). |
| 403 if (handling_event_type_ != WebInputEvent::kTouchStart) | 406 if (handling_event_type_ != WebInputEvent::kTouchStart) |
| 404 return false; | 407 return false; |
| 405 | 408 |
| 406 handling_touch_action_ = touch_action; | 409 handling_touch_action_ = touch_action; |
| 407 return true; | 410 return true; |
| 408 } | 411 } |
| 409 | 412 |
| 410 } // namespace content | 413 } // namespace content |
| OLD | NEW |