| Index: content/common/gpu/gpu_channel_manager.h
|
| diff --git a/content/common/gpu/gpu_channel_manager.h b/content/common/gpu/gpu_channel_manager.h
|
| index 4d18306a38f297bad502ebbb4429438b8d3a4443..4ea32bb4b8553c5f2dcaa3d73affed76dc9dfe27 100644
|
| --- a/content/common/gpu/gpu_channel_manager.h
|
| +++ b/content/common/gpu/gpu_channel_manager.h
|
| @@ -81,8 +81,6 @@ class GpuChannelManager : public IPC::Listener,
|
|
|
| void LoseAllContexts();
|
|
|
| - base::WeakPtrFactory<GpuChannelManager> weak_factory_;
|
| -
|
| int GenerateRouteID();
|
| void AddRoute(int32 routing_id, IPC::Listener* listener);
|
| void RemoveRoute(int32 routing_id);
|
| @@ -153,6 +151,11 @@ class GpuChannelManager : public IPC::Listener,
|
| IPC::SyncChannel* channel_;
|
| scoped_refptr<IPC::MessageFilter> filter_;
|
|
|
| + // 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.
|
| + base::WeakPtrFactory<GpuChannelManager> weak_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(GpuChannelManager);
|
| };
|
|
|
|
|