Performance sensitive impls live on IO thread (at least right now). We should allow requests for them to be bound there first, and redirect requests for stuff that lives on UI thread there.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/439768f0aaaea83ffb7ce6c3ba4438804582c383 commit 439768f0aaaea83ffb7ce6c3ba4438804582c383 Author: rockot <rockot@chromium.org> Date: Thu Jul 07 20:19:17 2016 Move content's shell connections to the IO thread Moves all shell connections in the content layer (connections owned by instances of MojoShellConnection and MojoChildConnection) to the IO thread in all process types. Note that instances of MojoShellConnection and MojoChildConnection may still be created and used on any thread. Additionally exposes a way for InterfaceRegistry and InterfaceProvider to forward to/from other instances so we can still have a corresponding instance of each on whatever thread owns the Mojo[Shell/Child]Connection object. This simplifies interface registration and acquisition on process hosts and ChildThreadImpls, and makes it possible for a future CL to introduce IO-thread service registration to avoid thread hops when binding incoming interface requests. BUG= 623398 ,612500 Review-Url: https://codereview.chromium.org/2111353002 Cr-Commit-Position: refs/heads/master@{#404228} [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/browser_context.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/browser_main_loop.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/child_thread_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/child/child_thread_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/content_common.gypi [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/BUILD.gn [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/gpu/gpu_child_thread.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/browser/render_process_host.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/child/child_thread.h [add] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/common/connection_filter.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/public/test/mock_render_process_host.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/render_thread_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/render_thread_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/BUILD.gn [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/navigation.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/navigation.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/view_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/navigation/view_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/connection.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/connector.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/lib/shell_connection.cc [modify] https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383/services/shell/public/cpp/shell_connection.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4a93a86045c9ed89385d13a6f6d154fadd2beaab commit 4a93a86045c9ed89385d13a6f6d154fadd2beaab Author: rockot <rockot@chromium.org> Date: Thu Jul 07 20:50:14 2016 Revert of Move content's shell connections to the IO thread (patchset #9 id:220001 of https://codereview.chromium.org/2111353002/ ) Reason for revert: stupid build failure Original issue's description: > Move content's shell connections to the IO thread > > Moves all shell connections in the content layer > (connections owned by instances of MojoShellConnection and > MojoChildConnection) to the IO thread in all process types. > Note that instances of MojoShellConnection and > MojoChildConnection may still be created and used on > any thread. > > Additionally exposes a way for InterfaceRegistry and > InterfaceProvider to forward to/from other instances > so we can still have a corresponding instance of each > on whatever thread owns the Mojo[Shell/Child]Connection > object. > > This simplifies interface registration and acquisition > on process hosts and ChildThreadImpls, and makes it possible > for a future CL to introduce IO-thread service registration > to avoid thread hops when binding incoming interface requests. > > BUG= 623398 ,612500 > > Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 > Cr-Commit-Position: refs/heads/master@{#404228} TBR=ben@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 623398 ,612500 Review-Url: https://codereview.chromium.org/2132793002 Cr-Commit-Position: refs/heads/master@{#404236} [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/browser_context.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/browser_main_loop.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/child_thread_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/child/child_thread_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/content_common.gypi [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/BUILD.gn [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/gpu/gpu_child_thread.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/browser/render_process_host.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/child/child_thread.h [delete] https://crrev.com/225e0d108f12c89466aced7ea3dc567080c80d8c/content/public/common/connection_filter.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/public/test/mock_render_process_host.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/render_thread_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/render_thread_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/BUILD.gn [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/navigation.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/navigation.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/view_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/navigation/view_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/connection.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/connector.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/lib/shell_connection.cc [modify] https://crrev.com/4a93a86045c9ed89385d13a6f6d154fadd2beaab/services/shell/public/cpp/shell_connection.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0771b1d71a3295691f9ffaefdf50652bd58e01c4 commit 0771b1d71a3295691f9ffaefdf50652bd58e01c4 Author: rockot <rockot@chromium.org> Date: Sat Jul 09 01:16:57 2016 Move content's service manager connections to the IO thread Moves all service manager connections in the content layer (connections owned by instances of MojoShellConnection and MojoChildConnection) to the IO thread in all process types. Note that instances of MojoShellConnection and MojoChildConnection may still be created and used on any thread. Additionally exposes a way for InterfaceRegistry and InterfaceProvider to forward to/from other instances so we can still have a corresponding instance of each on whatever thread owns the Mojo[Shell/Child]Connection object. This simplifies interface registration and acquisition on process hosts and ChildThreadImpls, and makes it possible for a future CL to introduce IO-thread service registration to avoid thread hops when binding incoming interface requests. BUG= 623398 ,612500 Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 Review-Url: https://codereview.chromium.org/2111353002 Cr-Original-Commit-Position: refs/heads/master@{#404228} Cr-Commit-Position: refs/heads/master@{#404556} [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/browser_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/browser_main_loop.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/child_thread_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/child/child_thread_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/content_common.gypi [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/BUILD.gn [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/gpu/gpu_child_thread.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/browser/render_process_host.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/child/child_thread.h [add] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/common/connection_filter.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/public/test/mock_render_process_host.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/render_thread_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/render_thread_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/BUILD.gn [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/navigation.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/navigation.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/view_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/navigation/view_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/connection.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/connector.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/lib/service_context.cc [modify] https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4/services/shell/public/cpp/service_context.h
Reopening. It looks like this caused a regression.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d535a2c52c815ed792cba4ebbeb621816cd013b8 commit d535a2c52c815ed792cba4ebbeb621816cd013b8 Author: rockot <rockot@chromium.org> Date: Tue Jul 12 18:26:39 2016 Revert of Move content's shell connections to the IO thread (patchset #14 id:320001 of https://codereview.chromium.org/2111353002/ ) Reason for revert: http://crbug.com/627277 Original issue's description: > Move content's service manager connections to the IO thread > > Moves all service manager connections in the content layer > (connections owned by instances of MojoShellConnection and > MojoChildConnection) to the IO thread in all process types. > Note that instances of MojoShellConnection and > MojoChildConnection may still be created and used on > any thread. > > Additionally exposes a way for InterfaceRegistry and > InterfaceProvider to forward to/from other instances > so we can still have a corresponding instance of each > on whatever thread owns the Mojo[Shell/Child]Connection > object. > > This simplifies interface registration and acquisition > on process hosts and ChildThreadImpls, and makes it possible > for a future CL to introduce IO-thread service registration > to avoid thread hops when binding incoming interface requests. > > BUG= 623398 ,612500 > > Committed: https://crrev.com/439768f0aaaea83ffb7ce6c3ba4438804582c383 > Committed: https://crrev.com/0771b1d71a3295691f9ffaefdf50652bd58e01c4 > Cr-Original-Commit-Position: refs/heads/master@{#404228} > Cr-Commit-Position: refs/heads/master@{#404556} TBR=ben@chromium.org,piman@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 623398 ,612500 NOTRY=true Review-Url: https://codereview.chromium.org/2138263002 Cr-Commit-Position: refs/heads/master@{#404816} [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chromeos/chrome_interface_factory.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/browser/chromeos/chrome_interface_factory.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/chrome/test/base/mash_browser_tests_main.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/browser_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/browser_main_loop.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_child_connection.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_child_connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/mojo/mojo_shell_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_process_host_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/renderer_host/render_widget_host_view_mus.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/browser/utility_process_host_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/background_sync/background_sync_provider.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/child_thread_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/child/child_thread_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/common/mojo/mojo_shell_connection_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/common/mojo/mojo_shell_connection_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/content_common.gypi [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/BUILD.gn [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/gpu_child_thread.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/gpu/gpu_child_thread.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/browser/render_process_host.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/child/child_thread.h [delete] https://crrev.com/c4f4073a28689b275f41aa83679627d719e8884a/content/public/common/connection_filter.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/common/mojo_shell_connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/test/mock_render_process_host.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/public/test/mock_render_process_host.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/mus/render_widget_window_tree_client_factory.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/mus/render_widget_window_tree_client_factory.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/render_thread_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/render_thread_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/content/renderer/service_worker/service_worker_context_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/BUILD.gn [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/content_client/content_browser_client.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/navigation.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/navigation.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/view_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/navigation/view_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/connection.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/connector.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/interface_provider.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/interface_registry.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/connector_impl.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/connector_impl.h [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/interface_provider.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/interface_registry.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/lib/service_context.cc [modify] https://crrev.com/d535a2c52c815ed792cba4ebbeb621816cd013b8/services/shell/public/cpp/service_context.h
Comment 1 by ben@chromium.org
, Jul 5 2016