| Index: content/child/child_thread_impl.h
|
| diff --git a/content/child/child_thread_impl.h b/content/child/child_thread_impl.h
|
| index 0438b9cfe40126da4c92fc436e80882a0a92e8a4..2f8f9a03efeffe231a5857a1d7f17915d71180e3 100644
|
| --- a/content/child/child_thread_impl.h
|
| +++ b/content/child/child_thread_impl.h
|
| @@ -18,12 +18,12 @@
|
| #include "base/sequenced_task_runner.h"
|
| #include "base/tracked_objects.h"
|
| #include "build/build_config.h"
|
| -#include "content/child/mojo/mojo_application.h"
|
| #include "content/common/content_export.h"
|
| #include "content/public/child/child_thread.h"
|
| #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/shell_client.h"
|
|
|
| namespace base {
|
| class MessageLoop;
|
| @@ -54,6 +54,7 @@ class ChildResourceMessageFilter;
|
| class ChildSharedBitmapManager;
|
| class FileSystemDispatcher;
|
| class InProcessChildThreadParams;
|
| +class MojoShellConnection;
|
| class NotificationDispatcher;
|
| class PushDispatcher;
|
| class ServiceWorkerMessageFilter;
|
| @@ -68,7 +69,8 @@ struct RequestInfo;
|
| // The main thread of a child process derives from this class.
|
| class CONTENT_EXPORT ChildThreadImpl
|
| : public IPC::Listener,
|
| - virtual public ChildThread {
|
| + virtual public ChildThread,
|
| + NON_EXPORTED_BASE(shell::ShellClient) {
|
| public:
|
| struct CONTENT_EXPORT Options;
|
|
|
| @@ -96,6 +98,13 @@ class CONTENT_EXPORT ChildThreadImpl
|
| #endif
|
| void RecordAction(const base::UserMetricsAction& action) override;
|
| void RecordComputedAction(const std::string& action) override;
|
| + MojoShellConnection* GetMojoShellConnection() override;
|
| + shell::InterfaceRegistry* GetInterfaceRegistry() override;
|
| + shell::InterfaceProvider* GetRemoteInterfaces() override;
|
| +
|
| + // shell::ShellClient implementation:
|
| + shell::InterfaceRegistry* GetInterfaceRegistryForConnection() override;
|
| + shell::InterfaceProvider* GetInterfaceProviderForConnection() override;
|
|
|
| IPC::SyncChannel* channel() { return channel_.get(); }
|
|
|
| @@ -195,14 +204,6 @@ class CONTENT_EXPORT ChildThreadImpl
|
| static void ShutdownThread();
|
| #endif
|
|
|
| - shell::InterfaceRegistry* interface_registry() {
|
| - return mojo_application_->interface_registry();
|
| - }
|
| -
|
| - shell::InterfaceProvider* remote_interfaces() const {
|
| - return mojo_application_->remote_interfaces();
|
| - }
|
| -
|
| protected:
|
| friend class ChildProcess;
|
|
|
| @@ -253,7 +254,9 @@ class CONTENT_EXPORT ChildThreadImpl
|
| void EnsureConnected();
|
|
|
| std::unique_ptr<mojo::edk::ScopedIPCSupport> mojo_ipc_support_;
|
| - std::unique_ptr<MojoApplication> mojo_application_;
|
| + std::unique_ptr<MojoShellConnection> mojo_shell_connection_;
|
| + std::unique_ptr<shell::InterfaceRegistry> interface_registry_;
|
| + std::unique_ptr<shell::InterfaceProvider> remote_interfaces_;
|
|
|
| std::string channel_name_;
|
| std::unique_ptr<IPC::SyncChannel> channel_;
|
|
|