Index: webkit/child/webkitplatformsupport_child_impl.cc |
diff --git a/webkit/child/webkitplatformsupport_child_impl.cc b/webkit/child/webkitplatformsupport_child_impl.cc |
index b9a06621e5b6fa0d3db797ca844233e1089f7242..456a5c90566e476f7ff986f653e47808041e9c0b 100644 |
--- a/webkit/child/webkitplatformsupport_child_impl.cc |
+++ b/webkit/child/webkitplatformsupport_child_impl.cc |
@@ -4,12 +4,42 @@ |
#include "webkit/child/webkitplatformsupport_child_impl.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" |
+#include "webkit/child/fling_curve_configuration.h" |
+ |
+#if defined(OS_ANDROID) |
+#include "webkit/child/fling_animator_impl_android.h" |
+#endif |
+ |
namespace webkit_glue { |
-WebKitPlatformSupportChildImpl::WebKitPlatformSupportChildImpl() { |
+WebKitPlatformSupportChildImpl::WebKitPlatformSupportChildImpl() |
+ : fling_curve_configuration_(new FlingCurveConfiguration) {} |
+ |
+WebKitPlatformSupportChildImpl::~WebKitPlatformSupportChildImpl() {} |
+ |
+void WebKitPlatformSupportChildImpl::SetFlingCurveParameters( |
+ const std::vector<float>& new_touchpad, |
+ const std::vector<float>& new_touchscreen) { |
+ fling_curve_configuration_->SetCurveParameters(new_touchpad, new_touchscreen); |
} |
-WebKitPlatformSupportChildImpl::~WebKitPlatformSupportChildImpl() { |
+WebKit::WebGestureCurve* |
+WebKitPlatformSupportChildImpl::createFlingAnimationCurve( |
+ int device_source, |
+ const WebKit::WebFloatPoint& velocity, |
+ const WebKit::WebSize& cumulative_scroll) { |
+#if defined(OS_ANDROID) |
+ return FlingAnimatorImpl::CreateAndroidGestureCurve(velocity, |
+ cumulative_scroll); |
+#endif |
+ |
+ if (device_source == WebKit::WebGestureEvent::Touchscreen) |
+ return fling_curve_configuration_->CreateForTouchScreen(velocity, |
+ cumulative_scroll); |
+ |
+ return fling_curve_configuration_->CreateForTouchPad(velocity, |
+ cumulative_scroll); |
} |
} // namespace webkit_glue |