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 2ecce76fdd6279875caa89196de744e3faf8babe..10d4d109769a0d3024cfdd3cf99704008fc6278e 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
| @@ -57,6 +57,7 @@ |
| #include "content/browser/renderer_host/render_process_host_impl.h" |
| #include "content/browser/renderer_host/render_view_host_impl.h" |
| #include "content/browser/renderer_host/render_widget_host_impl.h" |
| +#include "content/browser/renderer_host/select_action_mode.h" |
| #include "content/common/gpu_host_messages.h" |
| #include "content/common/gpu_process_launch_causes.h" |
| #include "content/common/input/did_overscroll_params.h" |
| @@ -68,6 +69,7 @@ |
| #include "content/public/browser/render_view_host.h" |
| #include "content/public/browser/render_widget_host_iterator.h" |
| #include "content/public/common/content_switches.h" |
| +#include "content/public/common/context_menu_params.h" |
| #include "gpu/command_buffer/client/gles2_implementation.h" |
| #include "gpu/command_buffer/client/gles2_interface.h" |
| #include "gpu/config/gpu_driver_bug_workaround_type.h" |
| @@ -1211,9 +1213,56 @@ void RenderWidgetHostViewAndroid::OnSelectionEvent( |
| gesture_provider_.GetCurrentDownEvent()) { |
| ResetGestureDetection(); |
| } |
| + |
| + switch(event) { |
| + case ui::SelectionEventType::SELECTION_HANDLES_SHOWN: |
| + if (select_action_mode_) |
| + select_action_mode_->show(); |
| + break; |
| + |
| + case ui::SelectionEventType::SELECTION_HANDLES_MOVED: |
| + case ui::SelectionEventType::INSERTION_HANDLE_MOVED: |
| + if (select_action_mode_) |
| + select_action_mode_->move( |
| + GetSelectionRect(*selection_controller_)); |
| + break; |
| + |
| + case ui::SelectionEventType::SELECTION_HANDLES_CLEARED: |
| + case ui::SelectionEventType::INSERTION_HANDLE_CLEARED: |
| + if (select_action_mode_) { |
| + select_action_mode_->close(); |
|
no sievers
2016/06/23 23:16:41
why does this need a call to close() first while b
amaralp
2016/06/24 00:45:49
Good point. I previously had this implemented in J
|
| + select_action_mode_.reset(); |
| + } |
| + break; |
| + |
| + case ui::SelectionEventType::SELECTION_HANDLE_DRAG_STARTED: |
| + case ui::SelectionEventType::INSERTION_HANDLE_DRAG_STARTED: |
| + if (select_action_mode_) |
| + select_action_mode_->hide(); |
| + break; |
| + |
| + case ui::SelectionEventType::SELECTION_HANDLE_DRAG_STOPPED: |
| + case ui::SelectionEventType::INSERTION_HANDLE_DRAG_STOPPED: |
| + if (select_action_mode_) |
| + select_action_mode_->show(); |
| + break; |
| + |
| + case ui::SelectionEventType::INSERTION_HANDLE_TAPPED: |
| + // TODO |
|
no sievers
2016/06/23 23:16:41
can you put a bug number that also explains what's
amaralp
2016/06/24 00:45:49
This is just something for myself so that I don't
|
| + break; |
| + |
| + case ui::SelectionEventType::INSERTION_HANDLE_SHOWN: |
| + case ui::SelectionEventType::SELECTION_ESTABLISHED: |
| + case ui::SelectionEventType::SELECTION_DISSOLVED: |
| + break; |
| + |
| + default: |
| + NOTREACHED(); |
| + break; |
| + } |
|
no sievers
2016/06/23 23:16:41
What about other events we listened to in ContentV
amaralp
2016/06/24 00:45:49
You are right. I'll have to take a look at those m
no sievers
2016/06/24 22:17:25
Note that we know about visibility (host_->is_hidd
|
| + |
| content_view_core_->OnSelectionEvent( |
| - event, selection_controller_->GetStartPosition(), |
| - GetSelectionRect(*selection_controller_)); |
| + event, selection_controller_->GetStartPosition()); |
| } |
| std::unique_ptr<ui::TouchHandleDrawable> |
| @@ -2041,4 +2090,8 @@ void RenderWidgetHostViewAndroid::ComputeEventLatencyOSTouchHistograms( |
| } |
| } |
| +void RenderWidgetHostViewAndroid::CreateSelectActionMode( |
| + const content::ContextMenuParams& params) { |
| + select_action_mode_.reset(new SelectActionMode(params)); |
| +} |
| } // namespace content |