Commit e37a06d4 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert BatteryMonitor to new Mojo types

This CL converts BatteryMonitor{Ptr, Request} in chrome, chromeos,
content, services and blink to the new Mojo type.

Bug: 955171, 978694
Change-Id: I0b7ae1d0158125d0a55a73a057c55b99a5fb1cd0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1787797
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695624}
parent 589fb792
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "content/public/browser/system_connector.h" #include "content/public/browser/system_connector.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/device/public/mojom/constants.mojom.h" #include "services/device/public/mojom/constants.mojom.h"
#include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/connector.h"
#include "services/service_manager/public/cpp/service_filter.h" #include "services/service_manager/public/cpp/service_filter.h"
...@@ -36,9 +35,9 @@ void BatteryMetrics::StartRecording() { ...@@ -36,9 +35,9 @@ void BatteryMetrics::StartRecording() {
// Don't create a long lived BatteryMonitor on windows. crbug.com/794105. // Don't create a long lived BatteryMonitor on windows. crbug.com/794105.
#if !defined(OS_WIN) #if !defined(OS_WIN)
content::GetSystemConnector()->BindInterface( content::GetSystemConnector()->Connect(
service_manager::ServiceFilter::ByName(device::mojom::kServiceName), service_manager::ServiceFilter::ByName(device::mojom::kServiceName),
mojo::MakeRequest(&battery_monitor_)); battery_monitor_.BindNewPipeAndPassReceiver());
QueryNextStatus(); QueryNextStatus();
#endif // !defined(OS_WIN) #endif // !defined(OS_WIN)
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
#include "services/device/public/mojom/battery_status.mojom.h" #include "services/device/public/mojom/battery_status.mojom.h"
...@@ -38,7 +39,7 @@ class BatteryMetrics { ...@@ -38,7 +39,7 @@ class BatteryMetrics {
base::Optional<float> last_recorded_battery_level_; base::Optional<float> last_recorded_battery_level_;
// The battery monitor backend for the device Chrome is running on. // The battery monitor backend for the device Chrome is running on.
device::mojom::BatteryMonitorPtr battery_monitor_; mojo::Remote<device::mojom::BatteryMonitor> battery_monitor_;
SEQUENCE_CHECKER(sequence_checker_); SEQUENCE_CHECKER(sequence_checker_);
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
#include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/in_process_browser_test.h"
#include "content/public/common/service_manager_connection.h" #include "content/public/common/service_manager_connection.h"
#include "content/public/test/browser_test_utils.h" #include "content/public/test/browser_test_utils.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
#include "services/device/public/mojom/battery_status.mojom.h" #include "services/device/public/mojom/battery_status.mojom.h"
#include "services/device/public/mojom/constants.mojom.h" #include "services/device/public/mojom/constants.mojom.h"
......
...@@ -127,7 +127,7 @@ ash::mojom::AssistantTimerState GetTimerState( ...@@ -127,7 +127,7 @@ ash::mojom::AssistantTimerState GetTimerState(
AssistantManagerServiceImpl::AssistantManagerServiceImpl( AssistantManagerServiceImpl::AssistantManagerServiceImpl(
mojom::Client* client, mojom::Client* client,
device::mojom::BatteryMonitorPtr battery_monitor, mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor,
Service* service, Service* service,
std::unique_ptr<network::SharedURLLoaderFactoryInfo> std::unique_ptr<network::SharedURLLoaderFactoryInfo>
url_loader_factory_info) url_loader_factory_info)
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "libassistant/shared/public/device_state_listener.h" #include "libassistant/shared/public/device_state_listener.h"
#include "libassistant/shared/public/media_manager.h" #include "libassistant/shared/public/media_manager.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote_set.h" #include "mojo/public/cpp/bindings/remote_set.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
...@@ -91,7 +92,7 @@ class AssistantManagerServiceImpl ...@@ -91,7 +92,7 @@ class AssistantManagerServiceImpl
// |service| owns this class and must outlive this class. // |service| owns this class and must outlive this class.
AssistantManagerServiceImpl( AssistantManagerServiceImpl(
mojom::Client* client, mojom::Client* client,
device::mojom::BatteryMonitorPtr battery_monitor, mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor,
Service* service, Service* service,
std::unique_ptr<network::SharedURLLoaderFactoryInfo> std::unique_ptr<network::SharedURLLoaderFactoryInfo>
url_loader_factory_info); url_loader_factory_info);
......
...@@ -18,7 +18,7 @@ namespace assistant { ...@@ -18,7 +18,7 @@ namespace assistant {
SystemProviderImpl::SystemProviderImpl( SystemProviderImpl::SystemProviderImpl(
std::unique_ptr<PowerManagerProviderImpl> power_manager_provider, std::unique_ptr<PowerManagerProviderImpl> power_manager_provider,
device::mojom::BatteryMonitorPtr battery_monitor) mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor)
: power_manager_provider_(std::move(power_manager_provider)), : power_manager_provider_(std::move(power_manager_provider)),
battery_monitor_(std::move(battery_monitor)) { battery_monitor_(std::move(battery_monitor)) {
battery_monitor_->QueryNextStatus(base::BindOnce( battery_monitor_->QueryNextStatus(base::BindOnce(
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include "base/component_export.h" #include "base/component_export.h"
#include "base/macros.h" #include "base/macros.h"
#include "libassistant/shared/public/platform_system.h" #include "libassistant/shared/public/platform_system.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
#include "services/device/public/mojom/battery_status.mojom.h" #include "services/device/public/mojom/battery_status.mojom.h"
...@@ -26,7 +28,7 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) SystemProviderImpl ...@@ -26,7 +28,7 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) SystemProviderImpl
// platform power manager provider is available. // platform power manager provider is available.
SystemProviderImpl( SystemProviderImpl(
std::unique_ptr<PowerManagerProviderImpl> power_manager_provider, std::unique_ptr<PowerManagerProviderImpl> power_manager_provider,
device::mojom::BatteryMonitorPtr battery_monitor); mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor);
~SystemProviderImpl() override; ~SystemProviderImpl() override;
// assistant_client::SystemProvider implementation: // assistant_client::SystemProvider implementation:
...@@ -45,7 +47,7 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) SystemProviderImpl ...@@ -45,7 +47,7 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) SystemProviderImpl
std::unique_ptr<PowerManagerProviderImpl> power_manager_provider_; std::unique_ptr<PowerManagerProviderImpl> power_manager_provider_;
device::mojom::BatteryMonitorPtr battery_monitor_; mojo::Remote<device::mojom::BatteryMonitor> battery_monitor_;
device::mojom::BatteryStatusPtr current_battery_status_; device::mojom::BatteryStatusPtr current_battery_status_;
DISALLOW_COPY_AND_ASSIGN(SystemProviderImpl); DISALLOW_COPY_AND_ASSIGN(SystemProviderImpl);
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "chromeos/services/assistant/fake_client.h" #include "chromeos/services/assistant/fake_client.h"
#include "chromeos/services/assistant/platform/power_manager_provider_impl.h" #include "chromeos/services/assistant/platform/power_manager_provider_impl.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -20,12 +20,10 @@ namespace assistant { ...@@ -20,12 +20,10 @@ namespace assistant {
class FakeBatteryMonitor : device::mojom::BatteryMonitor { class FakeBatteryMonitor : device::mojom::BatteryMonitor {
public: public:
FakeBatteryMonitor() : binding_(this) {} FakeBatteryMonitor() = default;
device::mojom::BatteryMonitorPtr CreateInterfacePtrAndBind() { mojo::PendingRemote<device::mojom::BatteryMonitor> CreateRemoteAndBind() {
device::mojom::BatteryMonitorPtr ptr; return receiver_.BindNewPipeAndPassRemote();
binding_.Bind(mojo::MakeRequest(&ptr));
return ptr;
} }
void QueryNextStatus(QueryNextStatusCallback callback) override { void QueryNextStatus(QueryNextStatusCallback callback) override {
...@@ -53,7 +51,7 @@ class FakeBatteryMonitor : device::mojom::BatteryMonitor { ...@@ -53,7 +51,7 @@ class FakeBatteryMonitor : device::mojom::BatteryMonitor {
device::mojom::BatteryStatusPtr battery_status_; device::mojom::BatteryStatusPtr battery_status_;
QueryNextStatusCallback callback_; QueryNextStatusCallback callback_;
mojo::Binding<device::mojom::BatteryMonitor> binding_; mojo::Receiver<device::mojom::BatteryMonitor> receiver_;
DISALLOW_COPY_AND_ASSIGN(FakeBatteryMonitor); DISALLOW_COPY_AND_ASSIGN(FakeBatteryMonitor);
}; };
...@@ -69,7 +67,7 @@ class SystemProviderImplTest : public testing::Test { ...@@ -69,7 +67,7 @@ class SystemProviderImplTest : public testing::Test {
system_provider_impl_ = std::make_unique<SystemProviderImpl>( system_provider_impl_ = std::make_unique<SystemProviderImpl>(
std::make_unique<PowerManagerProviderImpl>( std::make_unique<PowerManagerProviderImpl>(
&fake_client_, task_environment_.GetMainThreadTaskRunner()), &fake_client_, task_environment_.GetMainThreadTaskRunner()),
battery_monitor_.CreateInterfacePtrAndBind()); battery_monitor_.CreateRemoteAndBind());
FlushForTesting(); FlushForTesting();
} }
......
...@@ -79,7 +79,7 @@ void PlatformApiImpl::DummyAuthProvider::Reset() {} ...@@ -79,7 +79,7 @@ void PlatformApiImpl::DummyAuthProvider::Reset() {}
PlatformApiImpl::PlatformApiImpl( PlatformApiImpl::PlatformApiImpl(
mojom::Client* client, mojom::Client* client,
AssistantMediaSession* media_session, AssistantMediaSession* media_session,
device::mojom::BatteryMonitorPtr battery_monitor, mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor,
scoped_refptr<base::SequencedTaskRunner> main_thread_task_runner, scoped_refptr<base::SequencedTaskRunner> main_thread_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> background_task_runner, scoped_refptr<base::SingleThreadTaskRunner> background_task_runner,
std::string pref_locale) std::string pref_locale)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "chromeos/services/assistant/public/mojom/assistant.mojom.h" #include "chromeos/services/assistant/public/mojom/assistant.mojom.h"
#include "libassistant/shared/public/platform_api.h" #include "libassistant/shared/public/platform_api.h"
#include "libassistant/shared/public/platform_auth.h" #include "libassistant/shared/public/platform_auth.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
namespace chromeos { namespace chromeos {
...@@ -33,7 +34,7 @@ class PlatformApiImpl : public assistant_client::PlatformApi, ...@@ -33,7 +34,7 @@ class PlatformApiImpl : public assistant_client::PlatformApi,
PlatformApiImpl( PlatformApiImpl(
mojom::Client* client, mojom::Client* client,
AssistantMediaSession* media_session, AssistantMediaSession* media_session,
device::mojom::BatteryMonitorPtr battery_monitor, mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor,
scoped_refptr<base::SequencedTaskRunner> main_thread_task_runner, scoped_refptr<base::SequencedTaskRunner> main_thread_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> background_task_runner, scoped_refptr<base::SingleThreadTaskRunner> background_task_runner,
std::string pref_locale); std::string pref_locale);
......
...@@ -387,8 +387,9 @@ void Service::CreateAssistantManagerService() { ...@@ -387,8 +387,9 @@ void Service::CreateAssistantManagerService() {
DCHECK(client_); DCHECK(client_);
device::mojom::BatteryMonitorPtr battery_monitor; mojo::PendingRemote<device::mojom::BatteryMonitor> battery_monitor;
client_->RequestBatteryMonitor(mojo::MakeRequest(&battery_monitor)); client_->RequestBatteryMonitor(
battery_monitor.InitWithNewPipeAndPassReceiver());
// |assistant_manager_service_| is only created once. // |assistant_manager_service_| is only created once.
DCHECK(url_loader_factory_info_); DCHECK(url_loader_factory_info_);
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "content/public/test/test_navigation_observer.h" #include "content/public/test/test_navigation_observer.h"
#include "content/public/test/test_utils.h" #include "content/public/test/test_utils.h"
#include "content/shell/browser/shell.h" #include "content/shell/browser/shell.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
#include "services/device/public/mojom/battery_status.mojom.h" #include "services/device/public/mojom/battery_status.mojom.h"
......
...@@ -9,16 +9,16 @@ ...@@ -9,16 +9,16 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
namespace device { namespace device {
// static // static
void BatteryMonitorImpl::Create(mojom::BatteryMonitorRequest request) { void BatteryMonitorImpl::Create(
mojo::PendingReceiver<mojom::BatteryMonitor> receiver) {
auto* impl = new BatteryMonitorImpl; auto* impl = new BatteryMonitorImpl;
auto binding = impl->receiver_ =
mojo::MakeStrongBinding(base::WrapUnique(impl), std::move(request)); mojo::MakeSelfOwnedReceiver(base::WrapUnique(impl), std::move(receiver));
impl->binding_ = binding;
} }
BatteryMonitorImpl::BatteryMonitorImpl() : status_to_report_(false) { BatteryMonitorImpl::BatteryMonitorImpl() : status_to_report_(false) {
...@@ -33,7 +33,7 @@ BatteryMonitorImpl::~BatteryMonitorImpl() {} ...@@ -33,7 +33,7 @@ BatteryMonitorImpl::~BatteryMonitorImpl() {}
void BatteryMonitorImpl::QueryNextStatus(QueryNextStatusCallback callback) { void BatteryMonitorImpl::QueryNextStatus(QueryNextStatusCallback callback) {
if (!callback_.is_null()) { if (!callback_.is_null()) {
DVLOG(1) << "Overlapped call to QueryNextStatus!"; DVLOG(1) << "Overlapped call to QueryNextStatus!";
binding_->Close(); receiver_->Close();
return; return;
} }
callback_ = std::move(callback); callback_ = std::move(callback);
......
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
#include <memory> #include <memory>
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/device/battery/battery_status_service.h" #include "services/device/battery/battery_status_service.h"
#include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h"
...@@ -16,7 +17,7 @@ namespace device { ...@@ -16,7 +17,7 @@ namespace device {
class BatteryMonitorImpl : public mojom::BatteryMonitor { class BatteryMonitorImpl : public mojom::BatteryMonitor {
public: public:
static void Create(mojom::BatteryMonitorRequest request); static void Create(mojo::PendingReceiver<mojom::BatteryMonitor> receiver);
BatteryMonitorImpl(); BatteryMonitorImpl();
~BatteryMonitorImpl() override; ~BatteryMonitorImpl() override;
...@@ -29,7 +30,7 @@ class BatteryMonitorImpl : public mojom::BatteryMonitor { ...@@ -29,7 +30,7 @@ class BatteryMonitorImpl : public mojom::BatteryMonitor {
void DidChange(const mojom::BatteryStatus& battery_status); void DidChange(const mojom::BatteryStatus& battery_status);
void ReportStatus(); void ReportStatus();
mojo::StrongBindingPtr<mojom::BatteryMonitor> binding_; mojo::SelfOwnedReceiverRef<mojom::BatteryMonitor> receiver_;
std::unique_ptr<BatteryStatusService::BatteryUpdateSubscription> std::unique_ptr<BatteryStatusService::BatteryUpdateSubscription>
subscription_; subscription_;
QueryNextStatusCallback callback_; QueryNextStatusCallback callback_;
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/battery/battery_status_manager.h" #include "services/device/battery/battery_status_manager.h"
#include "services/device/battery/battery_status_service.h" #include "services/device/battery/battery_status_service.h"
#include "services/device/device_service_test_base.h" #include "services/device/device_service_test_base.h"
...@@ -96,7 +97,8 @@ class BatteryMonitorImplTest : public DeviceServiceTestBase { ...@@ -96,7 +97,8 @@ class BatteryMonitorImplTest : public DeviceServiceTestBase {
battery_manager_ = battery_manager.get(); battery_manager_ = battery_manager.get();
battery_service->SetBatteryManagerForTesting(std::move(battery_manager)); battery_service->SetBatteryManagerForTesting(std::move(battery_manager));
connector()->BindInterface(mojom::kServiceName, &battery_monitor_); connector()->Connect(mojom::kServiceName,
battery_monitor_.BindNewPipeAndPassReceiver());
} }
void TearDown() override { void TearDown() override {
...@@ -110,7 +112,7 @@ class BatteryMonitorImplTest : public DeviceServiceTestBase { ...@@ -110,7 +112,7 @@ class BatteryMonitorImplTest : public DeviceServiceTestBase {
FakeBatteryStatusManager* battery_manager() { return battery_manager_; } FakeBatteryStatusManager* battery_manager() { return battery_manager_; }
mojom::BatteryMonitorPtr battery_monitor_; mojo::Remote<mojom::BatteryMonitor> battery_monitor_;
private: private:
FakeBatteryStatusManager* battery_manager_; FakeBatteryStatusManager* battery_manager_;
......
...@@ -180,7 +180,7 @@ void DeviceService::OnStart() { ...@@ -180,7 +180,7 @@ void DeviceService::OnStart() {
->CreateInterfaceFactory<mojom::VibrationManager>()); ->CreateInterfaceFactory<mojom::VibrationManager>());
#else #else
registry_.AddInterface<mojom::BatteryMonitor>(base::Bind( registry_.AddInterface<mojom::BatteryMonitor>(base::Bind(
&DeviceService::BindBatteryMonitorRequest, base::Unretained(this))); &DeviceService::BindBatteryMonitorReceiver, base::Unretained(this)));
registry_.AddInterface<mojom::HidManager>(base::Bind( registry_.AddInterface<mojom::HidManager>(base::Bind(
&DeviceService::BindHidManagerRequest, base::Unretained(this))); &DeviceService::BindHidManagerRequest, base::Unretained(this)));
registry_.AddInterface<mojom::NFCProvider>(base::Bind( registry_.AddInterface<mojom::NFCProvider>(base::Bind(
...@@ -230,9 +230,9 @@ void DeviceService::OnBindInterface( ...@@ -230,9 +230,9 @@ void DeviceService::OnBindInterface(
} }
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void DeviceService::BindBatteryMonitorRequest( void DeviceService::BindBatteryMonitorReceiver(
mojom::BatteryMonitorRequest request) { mojo::PendingReceiver<mojom::BatteryMonitor> receiver) {
BatteryMonitorImpl::Create(std::move(request)); BatteryMonitorImpl::Create(std::move(receiver));
} }
void DeviceService::BindHidManagerRequest(mojom::HidManagerRequest request) { void DeviceService::BindHidManagerRequest(mojom::HidManagerRequest request) {
......
...@@ -149,7 +149,8 @@ class DeviceService : public service_manager::Service { ...@@ -149,7 +149,8 @@ class DeviceService : public service_manager::Service {
#endif #endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void BindBatteryMonitorRequest(mojom::BatteryMonitorRequest request); void BindBatteryMonitorReceiver(
mojo::PendingReceiver<mojom::BatteryMonitor> receiver);
void BindHidManagerRequest(mojom::HidManagerRequest request); void BindHidManagerRequest(mojom::HidManagerRequest request);
void BindNFCProviderReceiver( void BindNFCProviderReceiver(
mojo::PendingReceiver<mojom::NFCProvider> receiver); mojo::PendingReceiver<mojom::NFCProvider> receiver);
......
...@@ -47,8 +47,9 @@ void BatteryDispatcher::UpdateBatteryStatus( ...@@ -47,8 +47,9 @@ void BatteryDispatcher::UpdateBatteryStatus(
void BatteryDispatcher::StartListening(LocalFrame* frame) { void BatteryDispatcher::StartListening(LocalFrame* frame) {
DCHECK(!monitor_.is_bound()); DCHECK(!monitor_.is_bound());
// See https://bit.ly/2S0zRAS for task types. // See https://bit.ly/2S0zRAS for task types.
Platform::Current()->GetInterfaceProvider()->GetInterface(mojo::MakeRequest( Platform::Current()->GetInterfaceProvider()->GetInterface(
&monitor_, frame->GetTaskRunner(TaskType::kMiscPlatformAPI))); monitor_.BindNewPipeAndPassReceiver(
frame->GetTaskRunner(TaskType::kMiscPlatformAPI)));
QueryNextStatus(); QueryNextStatus();
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BATTERY_BATTERY_DISPATCHER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BATTERY_BATTERY_DISPATCHER_H_
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/battery_monitor.mojom-blink.h" #include "services/device/public/mojom/battery_monitor.mojom-blink.h"
#include "third_party/blink/renderer/core/frame/platform_event_dispatcher.h" #include "third_party/blink/renderer/core/frame/platform_event_dispatcher.h"
#include "third_party/blink/renderer/modules/battery/battery_manager.h" #include "third_party/blink/renderer/modules/battery/battery_manager.h"
...@@ -37,7 +38,7 @@ class MODULES_EXPORT BatteryDispatcher final ...@@ -37,7 +38,7 @@ class MODULES_EXPORT BatteryDispatcher final
void StartListening(LocalFrame* frame) override; void StartListening(LocalFrame* frame) override;
void StopListening() override; void StopListening() override;
device::mojom::blink::BatteryMonitorPtr monitor_; mojo::Remote<device::mojom::blink::BatteryMonitor> monitor_;
BatteryStatus battery_status_; BatteryStatus battery_status_;
bool has_latest_data_; bool has_latest_data_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment