Index: content/browser/power_monitor_message_broadcaster.cc |
diff --git a/content/browser/power_monitor_message_broadcaster.cc b/content/browser/power_monitor_message_broadcaster.cc |
index e862abbfe74be316fddce4b8adcfc0761d24b422..d073f8358cd32b1685233e7281228109d562f726 100644 |
--- a/content/browser/power_monitor_message_broadcaster.cc |
+++ b/content/browser/power_monitor_message_broadcaster.cc |
@@ -5,14 +5,11 @@ |
#include "content/browser/power_monitor_message_broadcaster.h" |
#include "base/power_monitor/power_monitor.h" |
-#include "content/common/power_monitor_messages.h" |
-#include "ipc/ipc_sender.h" |
+#include "mojo/public/cpp/bindings/strong_binding.h" |
namespace content { |
-PowerMonitorMessageBroadcaster::PowerMonitorMessageBroadcaster( |
- IPC::Sender* sender) |
- : sender_(sender) { |
+PowerMonitorMessageBroadcaster::PowerMonitorMessageBroadcaster() { |
base::PowerMonitor* power_monitor = base::PowerMonitor::Get(); |
if (power_monitor) |
power_monitor->AddObserver(this); |
@@ -24,7 +21,16 @@ PowerMonitorMessageBroadcaster::~PowerMonitorMessageBroadcaster() { |
power_monitor->RemoveObserver(this); |
} |
-void PowerMonitorMessageBroadcaster::Init() { |
+// static |
+void PowerMonitorMessageBroadcaster::Create( |
+ device::mojom::PowerMonitorRequest request) { |
+ mojo::MakeStrongBinding(base::MakeUnique<PowerMonitorMessageBroadcaster>(), |
+ std::move(request)); |
+} |
+ |
+void PowerMonitorMessageBroadcaster::SetClient( |
+ device::mojom::PowerMonitorClientPtr power_monitor_client) { |
+ power_monitor_client_ = std::move(power_monitor_client); |
base::PowerMonitor* power_monitor = base::PowerMonitor::Get(); |
// Unit tests does not initialize the PowerMonitor. |
if (power_monitor) |
@@ -32,15 +38,21 @@ void PowerMonitorMessageBroadcaster::Init() { |
} |
void PowerMonitorMessageBroadcaster::OnPowerStateChange(bool on_battery_power) { |
- sender_->Send(new PowerMonitorMsg_PowerStateChange(on_battery_power)); |
+ if (power_monitor_client_) { |
+ power_monitor_client_->PowerStateChange(on_battery_power); |
+ } |
} |
void PowerMonitorMessageBroadcaster::OnSuspend() { |
- sender_->Send(new PowerMonitorMsg_Suspend()); |
+ if (power_monitor_client_) { |
+ power_monitor_client_->Suspend(); |
+ } |
} |
void PowerMonitorMessageBroadcaster::OnResume() { |
- sender_->Send(new PowerMonitorMsg_Resume()); |
+ if (power_monitor_client_) { |
+ power_monitor_client_->Resume(); |
+ } |
} |
} // namespace content |