Index: gpu/ipc/service/gpu_channel_manager.h |
diff --git a/gpu/ipc/service/gpu_channel_manager.h b/gpu/ipc/service/gpu_channel_manager.h |
index a71ca9b41a55deaf7fb5459a5a797a40f3862e5e..7ed17f009771531ee3ac582568ca0e455b239a17 100644 |
--- a/gpu/ipc/service/gpu_channel_manager.h |
+++ b/gpu/ipc/service/gpu_channel_manager.h |
@@ -9,6 +9,7 @@ |
#include <deque> |
#include <memory> |
+#include <queue> |
#include <string> |
#include <vector> |
@@ -55,6 +56,7 @@ struct ChannelHandle; |
namespace gpu { |
class GpuChannel; |
+class GpuChannelDeleter; |
class GpuChannelManagerDelegate; |
class GpuMemoryBufferFactory; |
class GpuWatchdogThread; |
@@ -165,6 +167,7 @@ class GPU_EXPORT GpuChannelManager { |
void InternalDestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, int client_id); |
void InternalDestroyGpuMemoryBufferOnIO(gfx::GpuMemoryBufferId id, |
int client_id); |
+ void RunChannelDeleter(); |
#if defined(OS_ANDROID) |
void ScheduleWakeUpGpu(); |
void DoWakeUpGpu(); |
@@ -199,6 +202,9 @@ class GPU_EXPORT GpuChannelManager { |
base::TimeTicks begin_wake_up_time_; |
#endif |
+ bool channel_deleter_running_ = false; |
+ std::queue<std::unique_ptr<GpuChannelDeleter>> pending_deleters_; |
+ |
// Set during intentional GPU process shutdown. |
bool exiting_for_lost_context_; |