| OLD | NEW |
| 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/renderer/input/input_handler_wrapper.h" | 5 #include "content/renderer/input/input_handler_wrapper.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" |
| 7 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "content/common/input/did_overscroll_params.h" |
| 10 #include "content/public/common/content_switches.h" |
| 8 #include "content/renderer/input/input_event_filter.h" | 11 #include "content/renderer/input/input_event_filter.h" |
| 9 #include "content/renderer/input/input_handler_manager.h" | 12 #include "content/renderer/input/input_handler_manager.h" |
| 10 #include "third_party/WebKit/public/platform/Platform.h" | 13 #include "third_party/WebKit/public/platform/Platform.h" |
| 11 | 14 |
| 12 namespace content { | 15 namespace content { |
| 13 | 16 |
| 14 InputHandlerWrapper::InputHandlerWrapper( | 17 InputHandlerWrapper::InputHandlerWrapper( |
| 15 InputHandlerManager* input_handler_manager, | 18 InputHandlerManager* input_handler_manager, |
| 16 int routing_id, | 19 int routing_id, |
| 17 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner, | 20 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner, |
| 18 const base::WeakPtr<cc::InputHandler>& input_handler, | 21 const base::WeakPtr<cc::InputHandler>& input_handler, |
| 19 const base::WeakPtr<RenderViewImpl>& render_view_impl) | 22 const base::WeakPtr<RenderViewImpl>& render_view_impl) |
| 20 : input_handler_manager_(input_handler_manager), | 23 : input_handler_manager_(input_handler_manager), |
| 21 routing_id_(routing_id), | 24 routing_id_(routing_id), |
| 22 input_handler_proxy_(input_handler.get(), this), | 25 input_handler_proxy_(input_handler.get(), this), |
| 23 main_task_runner_(main_task_runner), | 26 main_task_runner_(main_task_runner), |
| 24 render_view_impl_(render_view_impl) { | 27 render_view_impl_(render_view_impl) { |
| 25 DCHECK(input_handler); | 28 DCHECK(input_handler); |
| 29 input_handler_proxy_.set_smooth_scroll_enabled( |
| 30 base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 31 switches::kEnableSmoothScrolling)); |
| 26 } | 32 } |
| 27 | 33 |
| 28 InputHandlerWrapper::~InputHandlerWrapper() { | 34 InputHandlerWrapper::~InputHandlerWrapper() { |
| 29 } | 35 } |
| 30 | 36 |
| 31 void InputHandlerWrapper::TransferActiveWheelFlingAnimation( | 37 void InputHandlerWrapper::TransferActiveWheelFlingAnimation( |
| 32 const blink::WebActiveWheelFlingParameters& params) { | 38 const blink::WebActiveWheelFlingParameters& params) { |
| 33 main_task_runner_->PostTask( | 39 main_task_runner_->PostTask( |
| 34 FROM_HERE, base::Bind(&RenderViewImpl::TransferActiveWheelFlingAnimation, | 40 FROM_HERE, base::Bind(&RenderViewImpl::TransferActiveWheelFlingAnimation, |
| 35 render_view_impl_, params)); | 41 render_view_impl_, params)); |
| 36 } | 42 } |
| 37 | 43 |
| 38 void InputHandlerWrapper::WillShutdown() { | 44 void InputHandlerWrapper::WillShutdown() { |
| 39 input_handler_manager_->RemoveInputHandler(routing_id_); | 45 input_handler_manager_->RemoveInputHandler(routing_id_); |
| 40 } | 46 } |
| 41 | 47 |
| 42 blink::WebGestureCurve* InputHandlerWrapper::CreateFlingAnimationCurve( | 48 blink::WebGestureCurve* InputHandlerWrapper::CreateFlingAnimationCurve( |
| 43 blink::WebGestureDevice deviceSource, | 49 blink::WebGestureDevice deviceSource, |
| 44 const blink::WebFloatPoint& velocity, | 50 const blink::WebFloatPoint& velocity, |
| 45 const blink::WebSize& cumulative_scroll) { | 51 const blink::WebSize& cumulative_scroll) { |
| 46 return blink::Platform::current()->createFlingAnimationCurve( | 52 return blink::Platform::current()->createFlingAnimationCurve( |
| 47 deviceSource, velocity, cumulative_scroll); | 53 deviceSource, velocity, cumulative_scroll); |
| 48 } | 54 } |
| 49 | 55 |
| 50 void InputHandlerWrapper::DidOverscroll(const DidOverscrollParams& params) { | 56 void InputHandlerWrapper::DidOverscroll( |
| 57 const gfx::Vector2dF& accumulated_overscroll, |
| 58 const gfx::Vector2dF& latest_overscroll_delta, |
| 59 const gfx::Vector2dF& current_fling_velocity, |
| 60 const gfx::PointF& causal_event_viewport_point) { |
| 61 DidOverscrollParams params; |
| 62 params.accumulated_overscroll = accumulated_overscroll; |
| 63 params.latest_overscroll_delta = latest_overscroll_delta; |
| 64 params.current_fling_velocity = current_fling_velocity; |
| 65 params.causal_event_viewport_point = causal_event_viewport_point; |
| 51 input_handler_manager_->DidOverscroll(routing_id_, params); | 66 input_handler_manager_->DidOverscroll(routing_id_, params); |
| 52 } | 67 } |
| 53 | 68 |
| 54 void InputHandlerWrapper::DidStopFlinging() { | 69 void InputHandlerWrapper::DidStopFlinging() { |
| 55 input_handler_manager_->DidStopFlinging(routing_id_); | 70 input_handler_manager_->DidStopFlinging(routing_id_); |
| 56 } | 71 } |
| 57 | 72 |
| 58 void InputHandlerWrapper::DidAnimateForInput() { | 73 void InputHandlerWrapper::DidAnimateForInput() { |
| 59 input_handler_manager_->DidAnimateForInput(); | 74 input_handler_manager_->DidAnimateForInput(); |
| 60 } | 75 } |
| 61 | 76 |
| 62 } // namespace content | 77 } // namespace content |
| OLD | NEW |