summaryrefslogtreecommitdiff
path: root/chromium/content/renderer/input/input_handler_wrapper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/input/input_handler_wrapper.cc')
-rw-r--r--chromium/content/renderer/input/input_handler_wrapper.cc58
1 files changed, 58 insertions, 0 deletions
diff --git a/chromium/content/renderer/input/input_handler_wrapper.cc b/chromium/content/renderer/input/input_handler_wrapper.cc
new file mode 100644
index 00000000000..14e23ebf3ad
--- /dev/null
+++ b/chromium/content/renderer/input/input_handler_wrapper.cc
@@ -0,0 +1,58 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/renderer/input/input_handler_wrapper.h"
+
+#include "base/message_loop/message_loop_proxy.h"
+#include "content/renderer/input/input_event_filter.h"
+#include "content/renderer/input/input_handler_manager.h"
+#include "third_party/WebKit/public/platform/Platform.h"
+
+namespace content {
+
+InputHandlerWrapper::InputHandlerWrapper(
+ InputHandlerManager* input_handler_manager,
+ int routing_id,
+ const scoped_refptr<base::MessageLoopProxy>& main_loop,
+ const base::WeakPtr<cc::InputHandler>& input_handler,
+ const base::WeakPtr<RenderViewImpl>& render_view_impl)
+ : input_handler_manager_(input_handler_manager),
+ routing_id_(routing_id),
+ input_handler_proxy_(input_handler.get()),
+ main_loop_(main_loop),
+ render_view_impl_(render_view_impl) {
+ DCHECK(input_handler);
+ input_handler_proxy_.SetClient(this);
+}
+
+InputHandlerWrapper::~InputHandlerWrapper() {
+ input_handler_proxy_.SetClient(NULL);
+}
+
+void InputHandlerWrapper::TransferActiveWheelFlingAnimation(
+ const blink::WebActiveWheelFlingParameters& params) {
+ main_loop_->PostTask(
+ FROM_HERE,
+ base::Bind(&RenderViewImpl::TransferActiveWheelFlingAnimation,
+ render_view_impl_,
+ params));
+}
+
+void InputHandlerWrapper::WillShutdown() {
+ input_handler_manager_->RemoveInputHandler(routing_id_);
+}
+
+blink::WebGestureCurve* InputHandlerWrapper::CreateFlingAnimationCurve(
+ int deviceSource,
+ const blink::WebFloatPoint& velocity,
+ const blink::WebSize& cumulative_scroll) {
+ return blink::Platform::current()->createFlingAnimationCurve(
+ deviceSource, velocity, cumulative_scroll);
+}
+
+void InputHandlerWrapper::DidOverscroll(const cc::DidOverscrollParams& params) {
+ input_handler_manager_->DidOverscroll(routing_id_, params);
+}
+
+} // namespace content