Store per-frame task runners for IPC messages task execution
This CL stores per-frame task runners for IPC messages to be executed on using routing_id. The task runners are stored on IPC::ChannelProxy::Context and will be looked up each time when IPC messages arrives to the renderer. Code-wise, this CL - Introduces IPC::ChannelProxy::Context::{AddListenerTaskRunner, GetTaskRunner} - {Associate, query} a task runner {to, from} a IPC routing_id - Before this CL, all IPC tasks were PostTask to {ipc, listener} task runner, but after this CL, they are PostTask to the task runner associated to their IPC message's routing_id. - Renames kInternalNavigation to kInternalNavigationAssociated, - Associate frame routing_id to per-frame task runner, so the frame IPC messages are routed to the task runner. Design-doc: https://docs.google.com/document/d/1dfQEPeeqOBigyzaeLR5dYaAgeeNDhCkWsPyxodD5xTA/edit?usp=sharing Change-Id: Ie7500355ca489ee192f9de53f05d07774cf286fb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1526067 Commit-Queue: Yuzu Saijo <yuzus@chromium.org> Reviewed-by:Ken Rockot <rockot@google.com> Reviewed-by:
Kouhei Ueno <kouhei@chromium.org> Reviewed-by:
Daniel Cheng <dcheng@chromium.org> Reviewed-by:
Alexander Timin <altimin@chromium.org> Reviewed-by:
Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#662948}
Showing
Please register or sign in to comment