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

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

Issue 2813683002: Allow MainThreadEventQueue to call the RenderWidget directly. (Closed)
Patch Set: Fix style nits Created 3 years, 8 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
« no previous file with comments | « content/renderer/input/input_event_filter.h ('k') | content/renderer/input/input_event_filter_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/input/input_event_filter.cc
diff --git a/content/renderer/input/input_event_filter.cc b/content/renderer/input/input_event_filter.cc
index b4fd52940cf1b49301d7847b0d263a7f14ccb23a..836089a00dc93ba81cec8baf8eda7d50f2839bd0 100644
--- a/content/renderer/input/input_event_filter.cc
+++ b/content/renderer/input/input_event_filter.cc
@@ -57,13 +57,9 @@ InputEventFilter::InputEventFilter(
main_listener_(main_listener),
sender_(NULL),
target_task_runner_(target_task_runner),
- input_handler_manager_(NULL),
- renderer_scheduler_(NULL) {
+ input_handler_manager_(NULL) {
DCHECK(target_task_runner_.get());
DCHECK(main_task_runner_->BelongsToCurrentThread());
- RenderThreadImpl* render_thread_impl = RenderThreadImpl::current();
- renderer_scheduler_ =
- render_thread_impl ? render_thread_impl->GetRendererScheduler() : nullptr;
}
void InputEventFilter::SetInputHandlerManager(
@@ -72,11 +68,12 @@ void InputEventFilter::SetInputHandlerManager(
input_handler_manager_ = input_handler_manager;
}
-void InputEventFilter::RegisterRoutingID(int routing_id) {
+void InputEventFilter::RegisterRoutingID(
+ int routing_id,
+ const scoped_refptr<MainThreadEventQueue>& input_event_queue) {
base::AutoLock locked(routes_lock_);
routes_.insert(routing_id);
- route_queues_[routing_id] = new MainThreadEventQueue(
- routing_id, this, main_task_runner_, renderer_scheduler_);
+ route_queues_[routing_id] = input_event_queue;
}
void InputEventFilter::RegisterAssociatedRenderFrameRoutingID(
@@ -133,39 +130,6 @@ void InputEventFilter::DispatchNonBlockingEventToMainThread(
}
}
-void InputEventFilter::NotifyInputEventHandled(
- int routing_id,
- blink::WebInputEvent::Type type,
- blink::WebInputEventResult result,
- InputEventAckState ack_result) {
- DCHECK(main_task_runner_->BelongsToCurrentThread());
- scoped_refptr<MainThreadEventQueue> queue;
- {
- base::AutoLock locked(routes_lock_);
- RouteQueueMap::iterator iter = route_queues_.find(routing_id);
- if (iter == route_queues_.end() || !iter->second)
- return;
- queue = iter->second;
- }
-
- queue->EventHandled(type, result, ack_result);
-}
-
-void InputEventFilter::ProcessRafAlignedInput(int routing_id,
- base::TimeTicks frame_time) {
- DCHECK(main_task_runner_->BelongsToCurrentThread());
- scoped_refptr<MainThreadEventQueue> queue;
- {
- base::AutoLock locked(routes_lock_);
- RouteQueueMap::iterator iter = route_queues_.find(routing_id);
- if (iter == route_queues_.end() || !iter->second)
- return;
- queue = iter->second;
- }
-
- queue->DispatchRafAlignedInput(frame_time);
-}
-
void InputEventFilter::OnFilterAdded(IPC::Channel* channel) {
io_task_runner_ = base::ThreadTaskRunnerHandle::Get();
sender_ = channel;
@@ -331,40 +295,4 @@ void InputEventFilter::SendMessageOnIOThread(
base::IntToString(s_send_failure_count_));
}
-void InputEventFilter::HandleEventOnMainThread(
- int routing_id,
- const blink::WebCoalescedInputEvent* event,
- const ui::LatencyInfo& latency_info,
- InputEventDispatchType dispatch_type) {
- TRACE_EVENT_INSTANT0("input", "InputEventFilter::HandlEventOnMainThread",
- TRACE_EVENT_SCOPE_THREAD);
- IPC::Message new_msg = InputMsg_HandleInputEvent(
- routing_id, &event->Event(), event->GetCoalescedEventsPointers(),
- latency_info, dispatch_type);
- main_listener_.Run(new_msg);
-}
-
-void InputEventFilter::SendInputEventAck(int routing_id,
- blink::WebInputEvent::Type type,
- InputEventAckState ack_result,
- uint32_t touch_event_id) {
- DCHECK(main_task_runner_->BelongsToCurrentThread());
- InputEventAck ack(InputEventAckSource::MAIN_THREAD, type, ack_result,
- touch_event_id);
- SendMessage(std::unique_ptr<IPC::Message>(
- new InputHostMsg_HandleInputEvent_ACK(routing_id, ack)));
-}
-
-void InputEventFilter::NeedsMainFrame(int routing_id) {
- if (target_task_runner_->BelongsToCurrentThread()) {
- input_handler_manager_->NeedsMainFrame(routing_id);
- return;
- }
-
- CHECK(target_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&InputEventFilter::NeedsMainFrame, this, routing_id)))
- << "PostTask failed";
-}
-
} // namespace content
« no previous file with comments | « content/renderer/input/input_event_filter.h ('k') | content/renderer/input/input_event_filter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698