| Index: content/browser/devtools/render_frame_devtools_agent_host.cc | 
| diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc | 
| index 07f422484bb4e4033b7e1bffc7c33b6b134f7430..41c4d7c824fb0226d33850acffb6d7cde3615269 100644 | 
| --- a/content/browser/devtools/render_frame_devtools_agent_host.cc | 
| +++ b/content/browser/devtools/render_frame_devtools_agent_host.cc | 
| @@ -506,7 +506,12 @@ void RenderFrameDevToolsAgentHost::OnClientAttached() { | 
| PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, | 
| PowerSaveBlocker::kReasonOther, "DevTools") | 
| .release())); | 
| -  power_save_blocker_->InitDisplaySleepBlocker(web_contents()); | 
| +  if (web_contents()->GetNativeView()) { | 
| +    view_weak_factory_.reset(new base::WeakPtrFactory<ui::ViewAndroid>( | 
| +        web_contents()->GetNativeView())); | 
| +    power_save_blocker_->InitDisplaySleepBlocker( | 
| +        view_weak_factory_->GetWeakPtr()); | 
| +  } | 
| #endif | 
|  | 
| // TODO(kaznacheev): Move this call back to DevToolsManager when | 
| @@ -753,6 +758,12 @@ void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad( | 
| DiscardPending(); | 
| } | 
|  | 
| +void RenderFrameDevToolsAgentHost::WebContentsDestroyed() { | 
| +#if defined(OS_ANDROID) | 
| +  view_weak_factory_.reset(); | 
| +#endif | 
| +} | 
| + | 
| void RenderFrameDevToolsAgentHost:: | 
| DispatchBufferedProtocolMessagesIfNecessary() { | 
| if (navigating_handles_.empty() && | 
|  |