Create service registry between renderer main thread and browser IO thread |
||||
Issue descriptionMore background in https://docs.google.com/document/d/1iN5cz-zCqN09eWxk6w84ioGifOO4f7PMS33S-cYi-zw/edit The summary is we want to be able to make mojo calls from RenderFrameImpl to the IO thread that maintain order with chrome IPCs. This might also include talking to a service registry to get an interface ptr to a newly created interface (on the browser IO thread). We need the interface request to not hop through the UI thread. This is because the interface will be associated with ChannelMojo (to keep order with chrome IPCs going to the IO thread). If the interface request goes to a different thread, until it's bound we would stop dispatching chrome IPCs on the IO thread which would be a performance problem. Ken said he'll look into this as part of converting view/host chrome IPCs to mojo.
,
Jun 13 2016
Starting on it today. I would expect it to take up to a week to get right and get landed.
,
Jun 14 2016
,
Jun 14 2016
Great, thanks
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a34707ca8e2548fcc804ffaa9571adcba2d024a8 commit a34707ca8e2548fcc804ffaa9571adcba2d024a8 Author: rockot <rockot@chromium.org> Date: Wed Jul 20 04:28:32 2016 Plumb explicit IPC task runner through to IPC::Channel creation In preparation for a follow-up CL, IPC::ChannelMojo needs to know which TaskRunner it will be used from despite being constructed on some arbitray other thread (for e.g. ChannelProxy). This CL plumbs through an IPC TaskRunner to various Channel instantiation sites to avoid lots of noise in the other CL. There are no behavioral changes introduced here. BUG=612500, 619202 Review-Url: https://codereview.chromium.org/2159293002 Cr-Commit-Position: refs/heads/master@{#406486} [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/child/child_thread_impl.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/content/test/render_thread_impl_browser_test_ipc_helper.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_common.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_factory.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_factory.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_proxy_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_channel_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_fuzzing_tests.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_mojo_perftest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_perftest_support.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_send_fds_test.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_test_base.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/ipc_test_base.h [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/ipc/sync_socket_unittest.cc [modify] https://crrev.com/a34707ca8e2548fcc804ffaa9571adcba2d024a8/tools/ipc_fuzzer/message_replay/replay_process.cc
,
Jul 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e1037f997da9e1d44ca3b09d4ff32f0465673091 commit e1037f997da9e1d44ca3b09d4ff32f0465673091 Author: rockot <rockot@chromium.org> Date: Thu Jul 21 00:13:20 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500, 619202 Review-Url: https://codereview.chromium.org/2163633003 Cr-Commit-Position: refs/heads/master@{#406720} [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc.mojom [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_channel_proxy.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
,
Jul 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f192a075bcd935672ec1db5de7308a96bfd34685 commit f192a075bcd935672ec1db5de7308a96bfd34685 Author: rockot <rockot@chromium.org> Date: Thu Jul 21 01:33:51 2016 Revert of Support early associated interface binding on ChannelMojo (patchset #5 id:80001 of https://codereview.chromium.org/2163633003/ ) Reason for revert: Lots of browser_tests failures. https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/266272 Original issue's description: > Support early associated interface binding on ChannelMojo > > Changes the associated bindings implementation for ChannelMojo > such that remote interfaces can be acquired immediately upon > ChannelMojo construction rather than having to wait for connection > on the IO thread. > > Simplifies the Channel bootstrapping process, removing a round-trip > Init message (and in fact the entire IPC::mojom::Boostrap interface) > since there's no need to actually exchange associated interface handles > over the pipe. Instead both sides can assume the other will use a fixed, > reserved endpoint ID for their IPC::mojom::Channel interface. > > This also removes the restriction that associated interfaces must be > added to a Channel after Init. Instead the same constraints apply as > with AddFilter: an associated interface, like a filter, may be added > at any time as long as either Init hasn't been called OR the remote > process hasn't been launched. > > The result of this CL is that any place it's safe to AddFilter, > it's also safe to AddAssociatedInterface; and any place it's safe to > Send, it's also safe to GetRemoteAssociatedInterface and begin using > any such remote interface immediately. > > Remote interface requests as well as all messages to remote interfaces > retain FIFO with respect to any Send calls on the same thread. Local > interface request dispatch as well as all messages on locally bound > associated interfaces retain FIFO with respect to any OnMessageReceived > calls on the same thread. > > BUG=612500, 619202 > > Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 > Cr-Commit-Position: refs/heads/master@{#406720} TBR=yzshen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500, 619202 Review-Url: https://codereview.chromium.org/2167973002 Cr-Commit-Position: refs/heads/master@{#406739} [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc.mojom [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_channel_proxy.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/f192a075bcd935672ec1db5de7308a96bfd34685/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
,
Jul 22 2016
,
Jul 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/508da24622f957a01b076ccd058bfdccc79068a4 commit 508da24622f957a01b076ccd058bfdccc79068a4 Author: rockot <rockot@chromium.org> Date: Fri Jul 22 03:53:59 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500, 619202 Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 Review-Url: https://codereview.chromium.org/2163633003 Cr-Original-Commit-Position: refs/heads/master@{#406720} Cr-Commit-Position: refs/heads/master@{#407050} [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc.mojom [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_channel_proxy.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
,
Jul 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5507feebdcc7216f8e390aca33ab28afbe349a97 commit 5507feebdcc7216f8e390aca33ab28afbe349a97 Author: msramek <msramek@chromium.org> Date: Fri Jul 22 10:06:21 2016 Revert of Support early associated interface binding on ChannelMojo (patchset #7 id:120001 of https://codereview.chromium.org/2163633003/ ) Reason for revert: Probable cause of failures on Mac ASan. See crbug.com/630564 for more details. Original issue's description: > Support early associated interface binding on ChannelMojo > > Changes the associated bindings implementation for ChannelMojo > such that remote interfaces can be acquired immediately upon > ChannelMojo construction rather than having to wait for connection > on the IO thread. > > Simplifies the Channel bootstrapping process, removing a round-trip > Init message (and in fact the entire IPC::mojom::Boostrap interface) > since there's no need to actually exchange associated interface handles > over the pipe. Instead both sides can assume the other will use a fixed, > reserved endpoint ID for their IPC::mojom::Channel interface. > > This also removes the restriction that associated interfaces must be > added to a Channel after Init. Instead the same constraints apply as > with AddFilter: an associated interface, like a filter, may be added > at any time as long as either Init hasn't been called OR the remote > process hasn't been launched. > > The result of this CL is that any place it's safe to AddFilter, > it's also safe to AddAssociatedInterface; and any place it's safe to > Send, it's also safe to GetRemoteAssociatedInterface and begin using > any such remote interface immediately. > > Remote interface requests as well as all messages to remote interfaces > retain FIFO with respect to any Send calls on the same thread. Local > interface request dispatch as well as all messages on locally bound > associated interfaces retain FIFO with respect to any OnMessageReceived > calls on the same thread. > > BUG=612500, 619202 > > Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 > Committed: https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4 > Cr-Original-Commit-Position: refs/heads/master@{#406720} > Cr-Commit-Position: refs/heads/master@{#407050} TBR=yzshen@chromium.org,rockot@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=612500, 619202 Review-Url: https://codereview.chromium.org/2173753002 Cr-Commit-Position: refs/heads/master@{#407120} [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc.mojom [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_channel_proxy.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/5507feebdcc7216f8e390aca33ab28afbe349a97/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
,
Jul 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e4de5f9a519c6cd206448a10eccc7a535e3db64 commit 0e4de5f9a519c6cd206448a10eccc7a535e3db64 Author: rockot <rockot@chromium.org> Date: Fri Jul 22 21:18:07 2016 Support early associated interface binding on ChannelMojo Changes the associated bindings implementation for ChannelMojo such that remote interfaces can be acquired immediately upon ChannelMojo construction rather than having to wait for connection on the IO thread. Simplifies the Channel bootstrapping process, removing a round-trip Init message (and in fact the entire IPC::mojom::Boostrap interface) since there's no need to actually exchange associated interface handles over the pipe. Instead both sides can assume the other will use a fixed, reserved endpoint ID for their IPC::mojom::Channel interface. This also removes the restriction that associated interfaces must be added to a Channel after Init. Instead the same constraints apply as with AddFilter: an associated interface, like a filter, may be added at any time as long as either Init hasn't been called OR the remote process hasn't been launched. The result of this CL is that any place it's safe to AddFilter, it's also safe to AddAssociatedInterface; and any place it's safe to Send, it's also safe to GetRemoteAssociatedInterface and begin using any such remote interface immediately. Remote interface requests as well as all messages to remote interfaces retain FIFO with respect to any Send calls on the same thread. Local interface request dispatch as well as all messages on locally bound associated interfaces retain FIFO with respect to any OnMessageReceived calls on the same thread. BUG=612500, 619202 Committed: https://crrev.com/e1037f997da9e1d44ca3b09d4ff32f0465673091 Committed: https://crrev.com/508da24622f957a01b076ccd058bfdccc79068a4 Review-Url: https://codereview.chromium.org/2163633003 Cr-Original-Original-Commit-Position: refs/heads/master@{#406720} Cr-Original-Commit-Position: refs/heads/master@{#407050} Cr-Commit-Position: refs/heads/master@{#407264} [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc.mojom [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_mojo_unittest.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_proxy.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_channel_proxy.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_message_pipe_reader.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_message_pipe_reader.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap.h [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/ipc/ipc_mojo_bootstrap_unittest.cc [modify] https://crrev.com/0e4de5f9a519c6cd206448a10eccc7a535e3db64/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc
,
Jul 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a32ca4b3ff6690d5b164313cd541e7908b8b8499 commit a32ca4b3ff6690d5b164313cd541e7908b8b8499 Author: rockot <rockot@chromium.org> Date: Tue Jul 26 00:12:03 2016 Adds BrowserAssociatedInterface BrowserAssociatedInterface can be implemented in conjunction with BrowserMessageFilter in order to provide browser-side Mojo bindings which dispatch on the IO thread and maintain FIFO with respect to legacy IPC messages on the same channel. BUG=612500, 619202 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2164783005 Cr-Commit-Position: refs/heads/master@{#407644} [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/browser/browser_associated_interface_unittest.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/content_browser.gypi [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/content_tests.gypi [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_associated_interface.h [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_message_filter.cc [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/public/browser/browser_message_filter.h [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/BUILD.gn [modify] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/OWNERS [add] https://crrev.com/a32ca4b3ff6690d5b164313cd541e7908b8b8499/content/test/test_browser_associated_interfaces.mojom
,
Aug 3 2016
For the common case, i.e. interfaces which don't need to be associated with the IPC::Channel, connections between the browser and child processes now have an InterfaceRegistry which lives on the IO thread. This was added in r405885, and Ben made it easier to use in r409395. Channel-associated interfaces also support binding immediately on the IO thread. Given this support, I'm calling the bug fixed. |
||||
►
Sign in to add a comment |
||||
Comment 1 by jam@chromium.org
, Jun 13 2016