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

Convert Fingerprint to new Mojo types

This CL converts FingerprintPtr and FingerprintRequest in chrome,
services and ui to the new Mojo type.

Bug: 955171
Change-Id: I17f91e608d749fe868c4a50c5483e573237cd461
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792466Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#695612}
parent 355400da
......@@ -187,8 +187,8 @@ ScreenLocker::ScreenLocker(const user_manager::UserList& users)
bundle.GetRawDataResource(IDR_SOUND_LOCK_WAV));
manager->Initialize(SOUND_UNLOCK,
bundle.GetRawDataResource(IDR_SOUND_UNLOCK_WAV));
content::GetSystemConnector()->BindInterface(device::mojom::kServiceName,
&fp_service_);
content::GetSystemConnector()->Connect(
device::mojom::kServiceName, fp_service_.BindNewPipeAndPassReceiver());
device::mojom::FingerprintObserverPtr observer;
fingerprint_observer_binding_.Bind(mojo::MakeRequest(&observer));
......
......@@ -28,6 +28,7 @@
#include "chromeos/login/auth/user_context.h"
#include "components/user_manager/user.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/ime/chromeos/input_method_manager.h"
......@@ -285,7 +286,7 @@ class ScreenLocker : public AuthStatusConsumer,
scoped_refptr<input_method::InputMethodManager::State> saved_ime_state_;
device::mojom::FingerprintPtr fp_service_;
mojo::Remote<device::mojom::Fingerprint> fp_service_;
mojo::Binding<device::mojom::FingerprintObserver>
fingerprint_observer_binding_;
......
......@@ -55,8 +55,8 @@ FingerprintSetupScreenHandler::FingerprintSetupScreenHandler(
: BaseScreenHandler(kScreenId, js_calls_container) {
set_user_acted_method_path("login.FingerprintSetupScreen.userActed");
content::GetSystemConnector()->BindInterface(device::mojom::kServiceName,
&fp_service_);
content::GetSystemConnector()->Connect(
device::mojom::kServiceName, fp_service_.BindNewPipeAndPassReceiver());
device::mojom::FingerprintObserverPtr observer;
binding_.Bind(mojo::MakeRequest(&observer));
fp_service_->AddFingerprintObserver(std::move(observer));
......
......@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
namespace chromeos {
......@@ -75,7 +76,7 @@ class FingerprintSetupScreenHandler
FingerprintSetupScreen* screen_ = nullptr;
device::mojom::FingerprintPtr fp_service_;
mojo::Remote<device::mojom::Fingerprint> fp_service_;
mojo::Binding<device::mojom::FingerprintObserver> binding_{this};
int enrolled_finger_count_ = 0;
bool enroll_session_started_ = false;
......
......@@ -59,8 +59,8 @@ std::unique_ptr<base::DictionaryValue> GetFingerprintsInfo(
FingerprintHandler::FingerprintHandler(Profile* profile)
: profile_(profile), binding_(this), session_observer_(this) {
content::GetSystemConnector()->BindInterface(device::mojom::kServiceName,
&fp_service_);
content::GetSystemConnector()->Connect(
device::mojom::kServiceName, fp_service_.BindNewPipeAndPassReceiver());
user_id_ = ProfileHelper::Get()->GetUserIdHashFromProfile(profile);
}
......
......@@ -10,6 +10,7 @@
#include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h"
#include "components/session_manager/core/session_manager_observer.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
class Profile;
......@@ -79,7 +80,7 @@ class FingerprintHandler : public ::settings::SettingsPageUIHandler,
std::vector<std::string> fingerprints_paths_;
std::string user_id_;
device::mojom::FingerprintPtr fp_service_;
mojo::Remote<device::mojom::Fingerprint> fp_service_;
mojo::Binding<device::mojom::FingerprintObserver> binding_;
ScopedObserver<session_manager::SessionManager,
session_manager::SessionManagerObserver>
......
......@@ -143,7 +143,7 @@ void DeviceService::SetPlatformSensorProviderForTesting(
void DeviceService::OnStart() {
registry_.AddInterface<mojom::Fingerprint>(base::Bind(
&DeviceService::BindFingerprintRequest, base::Unretained(this)));
&DeviceService::BindFingerprintReceiver, base::Unretained(this)));
registry_.AddInterface<mojom::GeolocationConfig>(base::BindRepeating(
&DeviceService::BindGeolocationConfigRequest, base::Unretained(this)));
registry_.AddInterface<mojom::GeolocationContext>(base::Bind(
......@@ -275,8 +275,9 @@ void DeviceService::BindInputDeviceManagerRequest(
}
#endif
void DeviceService::BindFingerprintRequest(mojom::FingerprintRequest request) {
Fingerprint::Create(std::move(request));
void DeviceService::BindFingerprintReceiver(
mojo::PendingReceiver<mojom::Fingerprint> receiver) {
Fingerprint::Create(std::move(receiver));
}
void DeviceService::BindGeolocationConfigRequest(
......
......@@ -138,7 +138,8 @@ class DeviceService : public service_manager::Service {
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) override;
void BindFingerprintRequest(mojom::FingerprintRequest request);
void BindFingerprintReceiver(
mojo::PendingReceiver<mojom::Fingerprint> receiver);
void BindGeolocationConfigRequest(mojom::GeolocationConfigRequest request);
void BindGeolocationContextRequest(mojom::GeolocationContextRequest request);
void BindGeolocationControlRequest(mojom::GeolocationControlRequest request);
......
......@@ -5,6 +5,7 @@
#ifndef SERVICES_DEVICE_FINGERPRINT_FINGERPRINT_H_
#define SERVICES_DEVICE_FINGERPRINT_FINGERPRINT_H_
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/device/fingerprint/fingerprint_export.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
......@@ -14,7 +15,7 @@ class Fingerprint {
public:
// This function is implemented in platform-specific subclasses.
SERVICES_DEVICE_FINGERPRINT_EXPORT static void Create(
device::mojom::FingerprintRequest request);
mojo::PendingReceiver<device::mojom::Fingerprint> receiver);
};
} // namespace device
......
......@@ -9,7 +9,8 @@
#include "base/bind.h"
#include "chromeos/dbus/biod/biod_client.h"
#include "dbus/object_path.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/fingerprint/fingerprint.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
......@@ -331,9 +332,10 @@ void FingerprintChromeOS::StartNextRequest() {
}
// static
void Fingerprint::Create(device::mojom::FingerprintRequest request) {
mojo::MakeStrongBinding(std::make_unique<FingerprintChromeOS>(),
std::move(request));
void Fingerprint::Create(
mojo::PendingReceiver<device::mojom::Fingerprint> receiver) {
mojo::MakeSelfOwnedReceiver(std::make_unique<FingerprintChromeOS>(),
std::move(receiver));
}
} // namespace device
......@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/device/fingerprint/fingerprint.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
......@@ -20,7 +21,8 @@ class FingerprintDefault : public Fingerprint {
} // namespace
// static
void Fingerprint::Create(device::mojom::FingerprintRequest request) {
void Fingerprint::Create(
mojo::PendingReceiver<device::mojom::Fingerprint> receiver) {
// Do nothing.
}
......
......@@ -55,10 +55,11 @@ UserActivityPowerManagerNotifier::UserActivityPowerManagerNotifier(
if (connector) {
// Treat fingerprint attempts as user activies to turn on the screen.
// I.e., when user tried to use fingerprint to unlock.
connector->BindInterface(device::mojom::kServiceName, &fingerprint_ptr_);
connector->Connect(device::mojom::kServiceName,
fingerprint_.BindNewPipeAndPassReceiver());
device::mojom::FingerprintObserverPtr observer;
fingerprint_observer_binding_.Bind(mojo::MakeRequest(&observer));
fingerprint_ptr_->AddFingerprintObserver(std::move(observer));
fingerprint_->AddFingerprintObserver(std::move(observer));
}
}
......
......@@ -10,6 +10,7 @@
#include "base/time/time.h"
#include "chromeos/dbus/power/power_manager_client.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/mojom/fingerprint.mojom.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
#include "ui/base/user_activity/user_activity_observer.h"
......@@ -66,7 +67,7 @@ class UI_CHROMEOS_EXPORT UserActivityPowerManagerNotifier
UserActivityDetector* detector_; // not owned
device::mojom::FingerprintPtr fingerprint_ptr_;
mojo::Remote<device::mojom::Fingerprint> fingerprint_;
mojo::Binding<device::mojom::FingerprintObserver>
fingerprint_observer_binding_;
......
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