Index: content/browser/renderer_host/render_widget_host_view_android.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
index f2a03c17676a1673e91b8b3bd2dc76002fb22d1c..bcc8b583c5a9f427f552f0dd7bc9b3b79ea2be87 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_android.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
@@ -32,13 +32,17 @@ |
#include "content/browser/renderer_host/dip_util.h" |
#include "content/browser/renderer_host/generic_touch_gesture_android.h" |
#include "content/browser/renderer_host/image_transport_factory_android.h" |
+#include "content/browser/renderer_host/input/touch_scroll_smooth_gesture.h" |
#include "content/browser/renderer_host/render_widget_host_impl.h" |
+#include "content/browser/renderer_host/synthetic_touch_event_android.h" |
#include "content/common/gpu/client/gl_helper.h" |
#include "content/common/gpu/gpu_messages.h" |
+#include "content/common/input/input_event.h" |
#include "content/common/input_messages.h" |
#include "content/common/view_messages.h" |
#include "content/public/common/content_switches.h" |
#include "skia/ext/image_operations.h" |
+#include "third_party/WebKit/public/web/WebInputEvent.h" |
#include "third_party/khronos/GLES2/gl2.h" |
#include "third_party/khronos/GLES2/gl2ext.h" |
#include "ui/gfx/android/device_display_info.h" |
@@ -47,6 +51,9 @@ |
#include "ui/gfx/screen.h" |
#include "ui/gfx/size_conversions.h" |
+using WebKit::WebInputEvent; |
+using WebKit::WebTouchEvent; |
+ |
namespace content { |
namespace { |
@@ -608,14 +615,12 @@ void RenderWidgetHostViewAndroid::ShowDisambiguationPopup( |
content_view_core_->ShowDisambiguationPopup(target_rect, zoomed_bitmap); |
} |
+// FIXME: move this to RenderWidgetHostBase |
Dominik Grewe
2013/10/10 14:01:45
This method will actually be removed completely on
kouhei (in TOK)
2013/10/15 02:10:02
Ack. I'll remove this in commit CL.
|
SyntheticGesture* RenderWidgetHostViewAndroid::CreateSmoothScrollGesture( |
bool scroll_down, int pixels_to_scroll, int mouse_event_x, |
int mouse_event_y) { |
- return new GenericTouchGestureAndroid( |
- GetRenderWidgetHost(), |
- content_view_core_->CreateOnePointTouchGesture( |
- mouse_event_x, mouse_event_y, |
- 0, scroll_down ? -pixels_to_scroll : pixels_to_scroll)); |
+ return new TouchSmoothScrollGesture( |
+ scroll_down, pixels_to_scroll, mouse_event_x, mouse_event_y); |
} |
SyntheticGesture* RenderWidgetHostViewAndroid::CreatePinchGesture( |
@@ -930,6 +935,21 @@ void RenderWidgetHostViewAndroid::ProcessAckedTouchEvent( |
content_view_core_->ConfirmTouchEvent(ack_result); |
} |
+void RenderWidgetHostViewAndroid::QueueInputEventToPlatform( |
+ const InputEvent& event) { |
+ if (! synthetic_touch_event_) |
+ synthetic_touch_event_.reset( |
+ new SyntheticTouchEventAndroid(content_view_core_)); |
+ |
+ if (WebInputEvent::isTouchEventType(event.web_event->type)) { |
+ const WebTouchEvent* web_touch = |
+ static_cast<const WebTouchEvent*>(event.web_event.get()); |
+ |
+ synthetic_touch_event_->InjectWebTouchEvent(web_touch); |
+ } else |
+ NOTREACHED(); // FIXME: implement other types (MouseWheel?) |
+} |
+ |
void RenderWidgetHostViewAndroid::SetHasHorizontalScrollbar( |
bool has_horizontal_scrollbar) { |
// intentionally empty, like RenderWidgetHostViewViews |