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

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

Issue 2893793003: Convert devtools to be client of WakeLock mojo service. (Closed)
Patch Set: Convert devtools to be client of WakeLock mojo service. Created 3 years, 7 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
« no previous file with comments | « content/browser/devtools/render_frame_devtools_agent_host.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 951122cd18f3f2a4465aaf8a3bc3275517b5148a..6b52231533924e35fcee0467ac55463c972606ca 100644
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -50,7 +50,7 @@
#if defined(OS_ANDROID)
#include "content/public/browser/render_widget_host_view.h"
-#include "device/power_save_blocker/power_save_blocker.h"
+#include "device/wake_lock/public/interfaces/wake_lock_context.mojom.h"
#endif
namespace content {
@@ -603,12 +603,14 @@ void RenderFrameDevToolsAgentHost::OnClientAttached() {
return;
frame_trace_recorder_.reset(new DevToolsFrameTraceRecorder());
- CreatePowerSaveBlocker();
+#if defined(OS_ANDROID)
+ GetWakeLockService()->RequestWakeLock();
+#endif
}
void RenderFrameDevToolsAgentHost::OnClientDetached() {
#if defined(OS_ANDROID)
- power_save_blocker_.reset();
+ GetWakeLockService()->CancelWakeLock();
#endif
frame_trace_recorder_.reset();
in_navigation_protocol_message_buffer_.clear();
@@ -823,19 +825,25 @@ bool RenderFrameDevToolsAgentHost::CheckConsistency() {
handlers_frame_host_ == manager->pending_frame_host();
}
-void RenderFrameDevToolsAgentHost::CreatePowerSaveBlocker() {
#if defined(OS_ANDROID)
- power_save_blocker_.reset(new device::PowerSaveBlocker(
- device::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep,
- device::PowerSaveBlocker::kReasonOther, "DevTools",
- BrowserThread::GetTaskRunnerForThread(BrowserThread::UI),
- BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)));
- if (web_contents()->GetNativeView()) {
- power_save_blocker_->InitDisplaySleepBlocker(
- web_contents()->GetNativeView());
+device::mojom::WakeLockService*
+RenderFrameDevToolsAgentHost::GetWakeLockService() {
dgozman 2017/05/18 21:58:45 I'm not very good at mojo yet, so let me ask a nai
ke.he 2017/05/18 23:58:47 The design of WakeLock servicification is necessar
+ // Here is a lazy binding, and will not reconnect after connection error.
+ if (!wake_lock_) {
+ device::mojom::WakeLockServiceRequest request =
+ mojo::MakeRequest(&wake_lock_);
dgozman 2017/05/18 21:58:45 Inline this into line 841?
ke.he 2017/05/18 23:58:47 We don't inline this on purpose, so the |wake_lock
dgozman 2017/05/19 19:15:45 Do you mean that wake_lock_ will be functional (al
ke.he 2017/05/20 01:00:34 Yes, mojo::MakeRequest() make it be functional, bu
+ device::mojom::WakeLockContext* wake_lock_context =
+ web_contents()->GetWakeLockContext();
+ if (wake_lock_context) {
+ wake_lock_context->GetWakeLock(
+ device::mojom::WakeLockType::PreventAppSuspension,
ke.he 2017/05/26 03:11:12 Oh! The original PowerSaveBlocker type is "kPowerS
+ device::mojom::WakeLockReason::ReasonOther, "DevTools",
+ std::move(request));
+ }
}
-#endif
+ return wake_lock_.get();
}
+#endif
void RenderFrameDevToolsAgentHost::RenderProcessGone(
base::TerminationStatus status) {
@@ -905,12 +913,14 @@ void RenderFrameDevToolsAgentHost::DidDetachInterstitialPage() {
}
void RenderFrameDevToolsAgentHost::WasShown() {
- CreatePowerSaveBlocker();
+#if defined(OS_ANDROID)
+ GetWakeLockService()->RequestWakeLock();
+#endif
}
void RenderFrameDevToolsAgentHost::WasHidden() {
#if defined(OS_ANDROID)
- power_save_blocker_.reset();
+ GetWakeLockService()->CancelWakeLock();
dgozman 2017/05/18 21:58:45 I think we should destroy the service at this poin
ke.he 2017/05/18 23:58:47 we don't need to destroy the service here or in de
dgozman 2017/05/19 19:15:44 Shouldn't we do it from the performance standpoint
ke.he 2017/05/20 01:00:34 In GetWakeLockService(), the |wake_lock_| is initi
#endif
}
« no previous file with comments | « content/browser/devtools/render_frame_devtools_agent_host.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698