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

Unified Diff: content/renderer/input/frame_input_handler_impl.cc

Issue 2951053005: Add Mojo API for Blink hit testing (Closed)
Patch Set: Created 3 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/renderer/input/frame_input_handler_impl.cc
diff --git a/content/renderer/input/frame_input_handler_impl.cc b/content/renderer/input/frame_input_handler_impl.cc
index 79be47153609f975e5d780e26d8180e31d2b3405..7d71ee7964bf1936a26cb9164f6e1a0566d5e95b 100644
--- a/content/renderer/input/frame_input_handler_impl.cc
+++ b/content/renderer/input/frame_input_handler_impl.cc
@@ -54,11 +54,11 @@ void FrameInputHandlerImpl::CreateMojoService(
new FrameInputHandlerImpl(render_frame, std::move(request));
}
-void FrameInputHandlerImpl::RunOnMainThread(const base::Closure& closure) {
+void FrameInputHandlerImpl::RunOnMainThread(base::OnceClosure closure) {
if (input_event_queue_) {
- input_event_queue_->QueueClosure(closure);
+ input_event_queue_->QueueClosure(std::move(closure));
} else {
- closure.Run();
+ std::move(closure).Run();
}
}
@@ -247,6 +247,19 @@ void FrameInputHandlerImpl::SelectAll() {
UpdateState::kIsSelectingRange));
}
+void FrameInputHandlerImpl::HitTestFrameAt(const gfx::PointF& point,
+ HitTestFrameAtCallback callback) {
+ RunOnMainThread(base::BindOnce(&FrameInputHandlerImpl::HitTestOnMainThread,
+ weak_this_, point, std::move(callback)));
+}
+
+void FrameInputHandlerImpl::HitTestOnMainThread(
+ const gfx::PointF& point,
+ HitTestFrameAtCallback callback) {
+ std::move(callback).Run(
+ render_frame_->GetRenderWidget()->HitTestFrameAt(point));
+}
+
void FrameInputHandlerImpl::CollapseSelection() {
if (!main_thread_task_runner_->BelongsToCurrentThread()) {
RunOnMainThread(

Powered by Google App Engine
This is Rietveld 408576698