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

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: review fixes 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..b9c02c892b7376ad5f5ce33806251c967a94fe03 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,15 @@ void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad(
DiscardPending();
}
+void RenderFrameDevToolsAgentHost::WebContentsDestroyed() {
+#if defined(OS_ANDROID)
+ if (view_weak_factory_) {
+ view_weak_factory_->InvalidateWeakPtrs();
+ view_weak_factory_.reset();
+ }
boliu 2016/06/13 18:54:45 err, just reset, no need for if or invalidate?
scottmg 2016/06/13 19:10:10 Oops, done.
+#endif
+}
+
void RenderFrameDevToolsAgentHost::
DispatchBufferedProtocolMessagesIfNecessary() {
if (navigating_handles_.empty() &&
« no previous file with comments | « content/browser/devtools/render_frame_devtools_agent_host.h ('k') | content/browser/media/media_web_contents_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698