Index: content/child/child_thread_impl.h |
diff --git a/content/child/child_thread_impl.h b/content/child/child_thread_impl.h |
index e4447c9ed1adb41d14e98df097a22df12e15c115..368089076a95972d9a2504d65b3f0b88b0aad6e2 100644 |
--- a/content/child/child_thread_impl.h |
+++ b/content/child/child_thread_impl.h |
@@ -23,6 +23,7 @@ |
#include "ipc/ipc_message.h" // For IPC_MESSAGE_LOG_ENABLED. |
#include "ipc/ipc_platform_file.h" |
#include "ipc/message_router.h" |
+#include "services/shell/public/cpp/service.h" |
namespace base { |
class MessageLoop; |
@@ -67,7 +68,8 @@ |
// The main thread of a child process derives from this class. |
class CONTENT_EXPORT ChildThreadImpl |
: public IPC::Listener, |
- virtual public ChildThread { |
+ virtual public ChildThread, |
+ public NON_EXPORTED_BASE(shell::Service){ |
public: |
struct CONTENT_EXPORT Options; |
@@ -99,6 +101,10 @@ |
shell::InterfaceRegistry* GetInterfaceRegistry() override; |
shell::InterfaceProvider* GetRemoteInterfaces() override; |
+ // shell::Service: |
+ shell::InterfaceRegistry* GetInterfaceRegistryForConnection() override; |
+ shell::InterfaceProvider* GetInterfaceProviderForConnection() override; |
+ |
IPC::SyncChannel* channel() { return channel_.get(); } |
IPC::MessageRouter* GetRouter(); |
@@ -203,10 +209,6 @@ |
// Called when the process refcount is 0. |
void OnProcessFinalRelease(); |
- // Implemented by subclasses to attach ConnectionFilters to the thread's |
- // shell connection. |
- virtual void AddConnectionFilters(MojoShellConnection* connection); |
- |
virtual bool OnControlMessageReceived(const IPC::Message& msg); |
virtual void OnProcessBackgrounded(bool backgrounded); |
virtual void OnProcessPurgeAndSuspend(); |
@@ -251,9 +253,9 @@ |
void EnsureConnected(); |
std::unique_ptr<mojo::edk::ScopedIPCSupport> mojo_ipc_support_; |
+ std::unique_ptr<MojoShellConnection> mojo_shell_connection_; |
std::unique_ptr<shell::InterfaceRegistry> interface_registry_; |
std::unique_ptr<shell::InterfaceProvider> remote_interfaces_; |
- std::unique_ptr<MojoShellConnection> mojo_shell_connection_; |
std::string channel_name_; |
std::unique_ptr<IPC::SyncChannel> channel_; |
@@ -307,10 +309,7 @@ |
scoped_refptr<base::SequencedTaskRunner> browser_process_io_runner_; |
- std::unique_ptr<base::WeakPtrFactory<ChildThreadImpl>> |
- channel_connected_factory_; |
- |
- base::WeakPtrFactory<ChildThreadImpl> weak_factory_; |
+ base::WeakPtrFactory<ChildThreadImpl> channel_connected_factory_; |
DISALLOW_COPY_AND_ASSIGN(ChildThreadImpl); |
}; |