Chromium Code Reviews| 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 |