| Index: content/gpu/gpu_child_thread.h
|
| diff --git a/content/gpu/gpu_child_thread.h b/content/gpu/gpu_child_thread.h
|
| index b83ff794e7bf353014a5049bd6f41212ee8da36b..c279c5f2a7caf07b97d5c45f40ae3749cc0c5325 100644
|
| --- a/content/gpu/gpu_child_thread.h
|
| +++ b/content/gpu/gpu_child_thread.h
|
| @@ -19,6 +19,7 @@
|
| #include "content/child/child_thread_impl.h"
|
| #include "content/common/gpu/gpu_channel.h"
|
| #include "content/common/gpu/gpu_channel_manager.h"
|
| +#include "content/common/gpu/gpu_channel_manager_delegate.h"
|
| #include "content/common/gpu/gpu_config.h"
|
| #include "content/common/gpu/x_util.h"
|
| #include "content/common/process_control.mojom.h"
|
| @@ -44,7 +45,8 @@ class GpuWatchdogThread;
|
| // these per process. It does process initialization and shutdown. It forwards
|
| // IPC messages to GpuChannelManager, which is responsible for issuing rendering
|
| // commands to the GPU.
|
| -class GpuChildThread : public ChildThreadImpl {
|
| +class GpuChildThread : public ChildThreadImpl,
|
| + public GpuChannelManagerDelegate {
|
| public:
|
| typedef std::queue<IPC::Message*> DeferredMessages;
|
|
|
| @@ -72,6 +74,30 @@ class GpuChildThread : public ChildThreadImpl {
|
| bool OnMessageReceived(const IPC::Message& msg) override;
|
|
|
| private:
|
| + // GpuChannelManagerDelegate implementation.
|
| + void AddSubscription(int32_t client_id, unsigned int target) override;
|
| + void ChannelEstablished(const IPC::ChannelHandle& channel_handle) override;
|
| + void DidCreateOffscreenContext(const GURL& active_url) override;
|
| + void DidDestroyChannel(int client_id) override;
|
| + void DidDestroyOffscreenContext(const GURL& active_url) override;
|
| + void DidLoseContext(bool offscreen,
|
| + gpu::error::ContextLostReason reason,
|
| + const GURL& active_url) override;
|
| + void GpuMemoryUmaStats(const GPUMemoryUmaStats& params) override;
|
| + void RemoveSubscription(int32_t client_id, unsigned int target) override;
|
| +#if defined(OS_MACOSX)
|
| + void SendAcceleratedSurfaceBuffersSwapped(
|
| + const AcceleratedSurfaceBuffersSwappedParams& params) override;
|
| +#endif
|
| +#if defined(OS_WIN)
|
| + void SendAcceleratedSurfaceCreatedChildWindow(
|
| + const gfx::PluginWindowHandle& parent_window,
|
| + const gfx::PluginWindowHandle& child_window) override;
|
| +#endif
|
| + void StoreShaderToDisk(int32_t client_id,
|
| + const std::string& key,
|
| + const std::string& shader) override;
|
| +
|
| // Message handlers.
|
| void OnInitialize();
|
| void OnFinalize();
|
| @@ -85,6 +111,23 @@ class GpuChildThread : public ChildThreadImpl {
|
| void OnDisableWatchdog();
|
| void OnGpuSwitched();
|
|
|
| +#if defined(OS_MACOSX)
|
| + void OnBufferPresented(const BufferPresentedParams& params);
|
| +#endif
|
| + void OnEstablishChannel(const EstablishChannelParams& params);
|
| + void OnCloseChannel(const IPC::ChannelHandle& channel_handle);
|
| + void OnLoadedShader(const std::string& shader);
|
| + void OnDestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
|
| + int client_id,
|
| + const gpu::SyncToken& sync_token);
|
| + void OnUpdateValueState(int client_id,
|
| + unsigned int target,
|
| + const gpu::ValueState& state);
|
| +#if defined(OS_ANDROID)
|
| + void OnWakeUpGpu();
|
| +#endif
|
| + void OnLoseAllContexts();
|
| +
|
| void BindProcessControlRequest(
|
| mojo::InterfaceRequest<ProcessControl> request);
|
|
|
|
|