| 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 288e3b982ed7c0554d8ff0585deb9c083cbbe69e..9b39cda81be774e5079d9294317d4ab84e1933e9 100644
|
| --- a/gpu/ipc/service/gpu_channel_manager.h
|
| +++ b/gpu/ipc/service/gpu_channel_manager.h
|
| @@ -107,6 +107,7 @@ class GPU_EXPORT GpuChannelManager {
|
| void RemoveChannel(int client_id);
|
|
|
| void LoseAllContexts();
|
| + void MaybeExitOnContextLost();
|
|
|
| #if defined(OS_MACOSX)
|
| void AddBufferPresentedCallback(int32_t routing_id,
|
| @@ -146,6 +147,10 @@ class GPU_EXPORT GpuChannelManager {
|
| void DidAccessGpu();
|
| #endif
|
|
|
| + bool is_exiting_for_lost_context() {
|
| + return exiting_for_lost_context_;
|
| + }
|
| +
|
| protected:
|
| virtual scoped_ptr<GpuChannel> CreateGpuChannel(
|
| int client_id,
|
| @@ -215,6 +220,9 @@ class GPU_EXPORT GpuChannelManager {
|
| base::TimeTicks begin_wake_up_time_;
|
| #endif
|
|
|
| + // Set during intentional GPU process shutdown.
|
| + bool exiting_for_lost_context_;
|
| +
|
| // Member variables should appear before the WeakPtrFactory, to ensure
|
| // that any WeakPtrs to Controller are invalidated before its members
|
| // variable's destructors are executed, rendering them invalid.
|
|
|