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 e830e65f61f488ad80d59a6c0af794e31cb36d80..891b735516d94e8a2e39236d328b1a3a682b727b 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
| @@ -187,6 +187,7 @@ RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( |
| switches::kDisableOverscrollEdgeEffect)), |
| overscroll_effect_(OverscrollGlow::Create(overscroll_effect_enabled_)), |
| gesture_provider_(CreateGestureProviderConfig(), this), |
| + gesture_text_selector_(this), |
| flush_input_requested_(false), |
| accelerated_surface_route_id_(0), |
| using_synchronous_compositor_(SynchronousCompositorImpl::FromID( |
| @@ -558,6 +559,11 @@ bool RenderWidgetHostViewAndroid::OnTouchEvent( |
| if (!gesture_provider_.OnTouchEvent(event)) |
| return false; |
| + if (gesture_text_selector_.OnTouchEvent(event)) { |
| + gesture_provider_.OnTouchEventAck(false); |
| + return true; |
| + } |
| + |
| // Short-circuit touch forwarding if no touch handlers exist. |
| if (!host_->ShouldForwardTouchEvent()) { |
| const bool event_consumed = false; |
| @@ -1287,6 +1293,9 @@ void RenderWidgetHostViewAndroid::RunAckCallbacks() { |
| void RenderWidgetHostViewAndroid::OnGestureEvent( |
| const ui::GestureEventData& gesture) { |
| + if (gesture_text_selector_.OnGestureEvent(gesture)) |
| + return; |
| + |
| SendGestureEvent(CreateWebGestureEventFromGestureEventData(gesture)); |
| } |
| @@ -1434,6 +1443,25 @@ SkBitmap::Config RenderWidgetHostViewAndroid::PreferredReadbackFormat() { |
| return SkBitmap::kARGB_8888_Config; |
| } |
| +void RenderWidgetHostViewAndroid::ShowSelectionHandlesAutomatically() { |
| + if (content_view_core_) |
| + content_view_core_->ShowSelectionHandlesAutomatically(); |
| +} |
| + |
| +void RenderWidgetHostViewAndroid::SelectRange( |
| + float x1, float y1, float x2, float y2) { |
| + // TODO(changwan): check if we'd want to use WebContentsImpl directly without |
|
aelias_OOO_until_Jul13
2014/06/26 01:12:39
It doesn't matter, they'll be merged eventually an
Changwan Ryu
2014/06/26 02:54:10
Removed.
|
| + // going through ContentViewCoreImpl. |
| + if (content_view_core_) |
| + static_cast<WebContentsImpl*>(content_view_core_->GetWebContents())-> |
| + SelectRange(gfx::Point(x1, y1), gfx::Point(x2, y2)); |
| +} |
| + |
| +void RenderWidgetHostViewAndroid::Unselect() { |
| + if (content_view_core_) |
| + content_view_core_->GetWebContents()->Unselect(); |
| +} |
| + |
| // static |
| void RenderWidgetHostViewBase::GetDefaultScreenInfo( |
| blink::WebScreenInfo* results) { |