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

Side by Side Diff: components/proximity_auth/ble/proximity_auth_ble_system.cc

Issue 1209193003: [Proximity Auth] Create one ProximityAuthClient per profile, rather than one global one. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up screenlock_private_api.cc a bit Created 5 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/proximity_auth/ble/proximity_auth_ble_system.h" 5 #include "components/proximity_auth/ble/proximity_auth_ble_system.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
11 #include "components/proximity_auth/ble/bluetooth_low_energy_connection.h" 11 #include "components/proximity_auth/ble/bluetooth_low_energy_connection.h"
12 #include "components/proximity_auth/ble/bluetooth_low_energy_connection_finder.h " 12 #include "components/proximity_auth/ble/bluetooth_low_energy_connection_finder.h "
13 #include "components/proximity_auth/ble/fake_wire_message.h" 13 #include "components/proximity_auth/ble/fake_wire_message.h"
14 #include "components/proximity_auth/connection.h" 14 #include "components/proximity_auth/connection.h"
15 #include "components/proximity_auth/cryptauth/base64url.h" 15 #include "components/proximity_auth/cryptauth/base64url.h"
16 #include "components/proximity_auth/cryptauth/cryptauth_client.h" 16 #include "components/proximity_auth/cryptauth/cryptauth_client.h"
17 #include "components/proximity_auth/proximity_auth_client.h"
17 #include "components/proximity_auth/remote_device.h" 18 #include "components/proximity_auth/remote_device.h"
18 #include "device/bluetooth/bluetooth_device.h" 19 #include "device/bluetooth/bluetooth_device.h"
19 #include "device/bluetooth/bluetooth_gatt_connection.h" 20 #include "device/bluetooth/bluetooth_gatt_connection.h"
20 21
21 namespace proximity_auth { 22 namespace proximity_auth {
22 23
23 namespace { 24 namespace {
24 25
25 // The UUID of the Bluetooth Low Energy service. 26 // The UUID of the Bluetooth Low Energy service.
26 const char kSmartLockServiceUUID[] = "b3b7e28e-a000-3e17-bd86-6e97b9e28c11"; 27 const char kSmartLockServiceUUID[] = "b3b7e28e-a000-3e17-bd86-6e97b9e28c11";
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 ScreenlockBridge::Observer* observer) { 62 ScreenlockBridge::Observer* observer) {
62 screenlock_bridge_->AddObserver(observer); 63 screenlock_bridge_->AddObserver(observer);
63 } 64 }
64 65
65 void ProximityAuthBleSystem::ScreenlockBridgeAdapter::RemoveObserver( 66 void ProximityAuthBleSystem::ScreenlockBridgeAdapter::RemoveObserver(
66 ScreenlockBridge::Observer* observer) { 67 ScreenlockBridge::Observer* observer) {
67 screenlock_bridge_->RemoveObserver(observer); 68 screenlock_bridge_->RemoveObserver(observer);
68 } 69 }
69 70
70 void ProximityAuthBleSystem::ScreenlockBridgeAdapter::Unlock( 71 void ProximityAuthBleSystem::ScreenlockBridgeAdapter::Unlock(
71 content::BrowserContext* browser_context) { 72 ProximityAuthClient* client) {
72 screenlock_bridge_->Unlock(browser_context); 73 screenlock_bridge_->Unlock(client->GetAuthenticatedUsername());
73 } 74 }
74 75
75 ProximityAuthBleSystem::ProximityAuthBleSystem( 76 ProximityAuthBleSystem::ProximityAuthBleSystem(
76 ScreenlockBridge* screenlock_bridge, 77 ScreenlockBridge* screenlock_bridge,
77 content::BrowserContext* browser_context, 78 ProximityAuthClient* proximity_auth_client,
78 scoped_ptr<CryptAuthClientFactory> cryptauth_client_factory) 79 scoped_ptr<CryptAuthClientFactory> cryptauth_client_factory)
79 : screenlock_bridge_(new ProximityAuthBleSystem::ScreenlockBridgeAdapter( 80 : screenlock_bridge_(new ProximityAuthBleSystem::ScreenlockBridgeAdapter(
80 screenlock_bridge)), 81 screenlock_bridge)),
81 browser_context_(browser_context), 82 proximity_auth_client_(proximity_auth_client),
82 cryptauth_client_factory_(cryptauth_client_factory.Pass()), 83 cryptauth_client_factory_(cryptauth_client_factory.Pass()),
83 is_polling_screen_state_(false), 84 is_polling_screen_state_(false),
84 weak_ptr_factory_(this) { 85 weak_ptr_factory_(this) {
85 VLOG(1) << "Starting Proximity Auth over Bluetooth Low Energy."; 86 VLOG(1) << "Starting Proximity Auth over Bluetooth Low Energy.";
86 screenlock_bridge_->AddObserver(this); 87 screenlock_bridge_->AddObserver(this);
87 } 88 }
88 89
89 ProximityAuthBleSystem::ProximityAuthBleSystem( 90 ProximityAuthBleSystem::ProximityAuthBleSystem(
90 ScreenlockBridgeAdapter* screenlock_bridge, 91 scoped_ptr<ScreenlockBridgeAdapter> screenlock_bridge,
91 content::BrowserContext* browser_context) 92 ProximityAuthClient* proximity_auth_client)
92 : screenlock_bridge_(screenlock_bridge), 93 : screenlock_bridge_(screenlock_bridge.Pass()),
93 browser_context_(browser_context), 94 proximity_auth_client_(proximity_auth_client),
94 is_polling_screen_state_(false), 95 is_polling_screen_state_(false),
95 weak_ptr_factory_(this) { 96 weak_ptr_factory_(this) {
96 VLOG(1) << "Starting Proximity Auth over Bluetooth Low Energy."; 97 VLOG(1) << "Starting Proximity Auth over Bluetooth Low Energy.";
97 screenlock_bridge_->AddObserver(this); 98 screenlock_bridge_->AddObserver(this);
98 } 99 }
99 100
100 ProximityAuthBleSystem::~ProximityAuthBleSystem() { 101 ProximityAuthBleSystem::~ProximityAuthBleSystem() {
101 VLOG(1) << "Stopping Proximity over Bluetooth Low Energy."; 102 VLOG(1) << "Stopping Proximity over Bluetooth Low Energy.";
102 screenlock_bridge_->RemoveObserver(this); 103 screenlock_bridge_->RemoveObserver(this);
103 if (connection_) 104 if (connection_)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 const WireMessage& message) { 200 const WireMessage& message) {
200 VLOG(1) << "Message received: " << message.payload(); 201 VLOG(1) << "Message received: " << message.payload();
201 202
202 // Unlock the screen when the remote device sends an unlock signal. 203 // Unlock the screen when the remote device sends an unlock signal.
203 // 204 //
204 // Note that this magically unlocks Chrome (no user interaction is needed). 205 // Note that this magically unlocks Chrome (no user interaction is needed).
205 // This user experience for this operation will be greately improved once 206 // This user experience for this operation will be greately improved once
206 // the Proximity Auth Unlock Manager migration to C++ is done. 207 // the Proximity Auth Unlock Manager migration to C++ is done.
207 if (message.payload() == kScreenUnlocked) { 208 if (message.payload() == kScreenUnlocked) {
208 VLOG(1) << "Device unlocked. Unlock."; 209 VLOG(1) << "Device unlocked. Unlock.";
209 screenlock_bridge_->Unlock(browser_context_); 210 screenlock_bridge_->Unlock(proximity_auth_client_);
210 } 211 }
211 } 212 }
212 213
213 void ProximityAuthBleSystem::OnConnectionFound( 214 void ProximityAuthBleSystem::OnConnectionFound(
214 scoped_ptr<Connection> connection) { 215 scoped_ptr<Connection> connection) {
215 VLOG(1) << "Connection found."; 216 VLOG(1) << "Connection found.";
216 217
217 connection_ = connection.Pass(); 218 connection_ = connection.Pass();
218 if (connection_) { 219 if (connection_) {
219 connection_->AddObserver(this); 220 connection_->AddObserver(this);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 weak_ptr_factory_.GetWeakPtr()), 262 weak_ptr_factory_.GetWeakPtr()),
262 base::TimeDelta::FromSeconds(kPollingIntervalSeconds)); 263 base::TimeDelta::FromSeconds(kPollingIntervalSeconds));
263 } 264 }
264 } 265 }
265 266
266 void ProximityAuthBleSystem::StopPollingScreenState() { 267 void ProximityAuthBleSystem::StopPollingScreenState() {
267 is_polling_screen_state_ = false; 268 is_polling_screen_state_ = false;
268 } 269 }
269 270
270 } // namespace proximity_auth 271 } // namespace proximity_auth
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698