Home | History | Annotate | Download | only in input
      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
      3 // found in the LICENSE file.
      4 
      5 #include "content/renderer/input/input_handler_wrapper.h"
      6 
      7 #include "base/message_loop/message_loop_proxy.h"
      8 #include "content/renderer/input/input_event_filter.h"
      9 #include "content/renderer/input/input_handler_manager.h"
     10 #include "third_party/WebKit/public/platform/Platform.h"
     11 
     12 namespace content {
     13 
     14 InputHandlerWrapper::InputHandlerWrapper(
     15     InputHandlerManager* input_handler_manager,
     16     int routing_id,
     17     const scoped_refptr<base::MessageLoopProxy>& main_loop,
     18     const base::WeakPtr<cc::InputHandler>& input_handler,
     19     const base::WeakPtr<RenderViewImpl>& render_view_impl)
     20     : input_handler_manager_(input_handler_manager),
     21       routing_id_(routing_id),
     22       input_handler_proxy_(input_handler.get(), this),
     23       main_loop_(main_loop),
     24       render_view_impl_(render_view_impl) {
     25   DCHECK(input_handler);
     26 }
     27 
     28 InputHandlerWrapper::~InputHandlerWrapper() {
     29 }
     30 
     31 void InputHandlerWrapper::TransferActiveWheelFlingAnimation(
     32     const blink::WebActiveWheelFlingParameters& params) {
     33   main_loop_->PostTask(
     34       FROM_HERE,
     35       base::Bind(&RenderViewImpl::TransferActiveWheelFlingAnimation,
     36                  render_view_impl_,
     37                  params));
     38 }
     39 
     40 void InputHandlerWrapper::WillShutdown() {
     41   input_handler_manager_->RemoveInputHandler(routing_id_);
     42 }
     43 
     44 blink::WebGestureCurve* InputHandlerWrapper::CreateFlingAnimationCurve(
     45     blink::WebGestureDevice deviceSource,
     46     const blink::WebFloatPoint& velocity,
     47     const blink::WebSize& cumulative_scroll) {
     48   return blink::Platform::current()->createFlingAnimationCurve(
     49       deviceSource, velocity, cumulative_scroll);
     50 }
     51 
     52 void InputHandlerWrapper::DidOverscroll(const DidOverscrollParams& params) {
     53   input_handler_manager_->DidOverscroll(routing_id_, params);
     54 }
     55 
     56 void InputHandlerWrapper::DidStopFlinging() {
     57   input_handler_manager_->DidStopFlinging(routing_id_);
     58 }
     59 
     60 }  // namespace content
     61