Index: content/gpu/gpu_child_thread.h |
diff --git a/content/gpu/gpu_child_thread.h b/content/gpu/gpu_child_thread.h |
index de626f92a5bd82dcb71b2d2b203c35c984d3f538..f51bba18b6a86bf222a1e53b6100a4150a5f1821 100644 |
--- a/content/gpu/gpu_child_thread.h |
+++ b/content/gpu/gpu_child_thread.h |
@@ -19,6 +19,7 @@ |
#include "base/time/time.h" |
#include "build/build_config.h" |
#include "content/child/child_thread_impl.h" |
+#include "content/common/process_control.mojom.h" |
#include "gpu/command_buffer/service/gpu_preferences.h" |
#include "gpu/config/gpu_info.h" |
#include "gpu/ipc/service/gpu_channel.h" |
@@ -26,6 +27,8 @@ |
#include "gpu/ipc/service/gpu_channel_manager_delegate.h" |
#include "gpu/ipc/service/gpu_config.h" |
#include "gpu/ipc/service/x_util.h" |
+#include "mojo/public/cpp/bindings/binding_set.h" |
+#include "mojo/public/cpp/bindings/interface_request.h" |
#include "ui/gfx/native_widget_types.h" |
namespace gpu { |
@@ -42,6 +45,7 @@ |
} |
namespace content { |
+class GpuProcessControlImpl; |
class GpuWatchdogThread; |
struct EstablishChannelParams; |
@@ -80,10 +84,12 @@ |
private: |
// ChildThreadImpl:. |
- void AddConnectionFilters(MojoShellConnection* connection) override; |
bool Send(IPC::Message* msg) override; |
bool OnControlMessageReceived(const IPC::Message& msg) override; |
bool OnMessageReceived(const IPC::Message& msg) override; |
+ bool OnConnect(shell::Connection* connection) override; |
+ shell::InterfaceRegistry* GetInterfaceRegistryForConnection() override; |
+ shell::InterfaceProvider* GetInterfaceProviderForConnection() override; |
// gpu::GpuChannelManagerDelegate: |
void SetActiveURL(const GURL& url) override; |
@@ -132,6 +138,9 @@ |
#endif |
void OnLoseAllContexts(); |
+ void BindProcessControlRequest( |
+ mojo::InterfaceRequest<mojom::ProcessControl> request); |
+ |
gpu::GpuPreferences gpu_preferences_; |
// Set this flag to true if a fatal error occurred before we receive the |
@@ -164,6 +173,14 @@ |
// The gpu::GpuMemoryBufferFactory instance used to allocate GpuMemoryBuffers. |
gpu::GpuMemoryBufferFactory* const gpu_memory_buffer_factory_; |
+ // Process control for Mojo application hosting. |
+ std::unique_ptr<GpuProcessControlImpl> process_control_; |
+ |
+ // Bindings to the mojom::ProcessControl impl. |
+ mojo::BindingSet<mojom::ProcessControl> process_control_bindings_; |
+ |
+ base::Closure resume_interface_bindings_callback_; |
+ |
DISALLOW_COPY_AND_ASSIGN(GpuChildThread); |
}; |