Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Unified Diff: content/browser/devtools/render_frame_devtools_agent_host.cc

Issue 2003803002: Remove dependency of power_save_blocker_android on various content bits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@power-save-task-runners
Patch Set: back to weakptr Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..708608584a1b868b62a697d8248c6bb6f6f5ceae 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,13 @@ void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad(
DiscardPending();
}
+void RenderFrameDevToolsAgentHost::WebContentsDestroyed() {
+#if defined(OS_ANDROID)
+ if (view_weak_factory_)
boliu 2016/06/13 14:56:43 view_weak_factory_.reset(); everywhere?
ncarter (slow) 2016/06/13 16:56:20 I agree with boliu; otherwise you have a dangling
scottmg 2016/06/13 18:52:56 Done.
+ view_weak_factory_->InvalidateWeakPtrs();
+#endif
+}
+
void RenderFrameDevToolsAgentHost::
DispatchBufferedProtocolMessagesIfNecessary() {
if (navigating_handles_.empty() &&

Powered by Google App Engine
This is Rietveld 408576698