| Index: content/common/gpu/gpu_channel.h
|
| ===================================================================
|
| --- content/common/gpu/gpu_channel.h (revision 92876)
|
| +++ content/common/gpu/gpu_channel.h (working copy)
|
| @@ -6,6 +6,7 @@
|
| #define CONTENT_COMMON_GPU_GPU_CHANNEL_H_
|
| #pragma once
|
|
|
| +#include <queue>
|
| #include <set>
|
| #include <string>
|
| #include <vector>
|
| @@ -78,6 +79,15 @@
|
| // IPC::Message::Sender implementation:
|
| virtual bool Send(IPC::Message* msg);
|
|
|
| + // Whether this channel is able to handle IPC messages.
|
| + bool IsScheduled();
|
| +
|
| + // This is called when a command buffer transitions from the unscheduled
|
| + // state to the scheduled state, which potentially means the channel
|
| + // transitions from the unscheduled to the scheduled state. When this occurs
|
| + // deferred IPC messaged are handled.
|
| + void OnScheduled();
|
| +
|
| void CreateViewCommandBuffer(
|
| gfx::PluginWindowHandle window,
|
| int32 render_view_id,
|
| @@ -131,6 +141,8 @@
|
|
|
| bool OnControlMessageReceived(const IPC::Message& msg);
|
|
|
| + void HandleDeferredMessages();
|
| +
|
| int GenerateRouteID();
|
|
|
| // Message handlers.
|
| @@ -138,11 +150,11 @@
|
| void OnCreateOffscreenCommandBuffer(
|
| const gfx::Size& size,
|
| const GPUCreateCommandBufferConfig& init_params,
|
| - int32* route_id);
|
| - void OnDestroyCommandBuffer(int32 route_id);
|
| + IPC::Message* reply_message);
|
| + void OnDestroyCommandBuffer(int32 route_id, IPC::Message* reply_message);
|
|
|
| void OnCreateOffscreenSurface(const gfx::Size& size,
|
| - int* route_id);
|
| + IPC::Message* reply_message);
|
| void OnDestroySurface(int route_id);
|
|
|
| void OnCreateTransportTexture(int32 context_route_id, int32 host_id);
|
| @@ -154,6 +166,8 @@
|
|
|
| scoped_ptr<IPC::SyncChannel> channel_;
|
|
|
| + std::queue<IPC::Message*> deferred_messages_;
|
| +
|
| // The id of the renderer who is on the other side of the channel.
|
| int renderer_id_;
|
|
|
| @@ -188,6 +202,8 @@
|
| gpu::gles2::DisallowedExtensions disallowed_extensions_;
|
| GpuWatchdog* watchdog_;
|
|
|
| + ScopedRunnableMethodFactory<GpuChannel> task_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(GpuChannel);
|
| };
|
|
|
|
|