Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1220)

Unified Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 2089933002: Context Menu Refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixing nits Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..cad740e3fb8f6dbc8c67e3711ea8492002dd764b 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,54 @@ 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_.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
+ break;
+
+ case ui::SelectionEventType::INSERTION_HANDLE_SHOWN:
+ case ui::SelectionEventType::SELECTION_ESTABLISHED:
+ case ui::SelectionEventType::SELECTION_DISSOLVED:
+ break;
+
+ default:
+ NOTREACHED();
+ break;
+ }
+
content_view_core_->OnSelectionEvent(
- event, selection_controller_->GetStartPosition(),
- GetSelectionRect(*selection_controller_));
+ event, selection_controller_->GetStartPosition());
}
std::unique_ptr<ui::TouchHandleDrawable>
@@ -2041,4 +2088,8 @@ void RenderWidgetHostViewAndroid::ComputeEventLatencyOSTouchHistograms(
}
}
+void RenderWidgetHostViewAndroid::CreateSelectActionMode(
+ const content::ContextMenuParams& params) {
+ select_action_mode_.reset(new SelectActionMode(params));
+}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698