| Index: content/common/gpu/gpu_channel.h | 
| diff --git a/content/common/gpu/gpu_channel.h b/content/common/gpu/gpu_channel.h | 
| index 49b1078e6e1d050f054f025deff39bf32bd0c838..6b6dffb2199b26c3d0161799add9054b1ac1805b 100644 | 
| --- a/content/common/gpu/gpu_channel.h | 
| +++ b/content/common/gpu/gpu_channel.h | 
| @@ -217,8 +217,6 @@ class GpuChannel : public IPC::Listener, public IPC::Sender { | 
| bool handle_messages_scheduled_; | 
| IPC::Message* currently_processing_message_; | 
|  | 
| -  base::WeakPtrFactory<GpuChannel> weak_factory_; | 
| - | 
| scoped_refptr<GpuChannelMessageFilter> filter_; | 
| scoped_refptr<base::MessageLoopProxy> io_message_loop_; | 
| scoped_ptr<DevToolsGpuAgent> devtools_gpu_agent_; | 
| @@ -227,6 +225,11 @@ class GpuChannel : public IPC::Listener, public IPC::Sender { | 
|  | 
| bool allow_future_sync_points_; | 
|  | 
| +  // 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<GpuChannel> weak_factory_; | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(GpuChannel); | 
| }; | 
|  | 
|  |