Commit d22e3d95 authored by Adam Langley's avatar Adam Langley Committed by Commit Bot

device/fido: tidy up FidoCableDiscovery::observed_devices_

caBLEv2 no longer uses a FidoCableDevice and thus the
|FidoCableDeviceConnected| and |FidoCableDeviceTimeout| callbacks only
come from v1 devices. With that the discovery data can drop out of
|observed_devices_|

Change-Id: I430d9d9fdbb8681194dff30c12fb0dc835c1785f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2365360
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: default avatarMartin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#799965}
parent 9fc25706
...@@ -355,17 +355,13 @@ void FidoCableDiscovery::AdapterDiscoveringChanged(BluetoothAdapter* adapter, ...@@ -355,17 +355,13 @@ void FidoCableDiscovery::AdapterDiscoveringChanged(BluetoothAdapter* adapter,
void FidoCableDiscovery::FidoCableDeviceConnected(FidoCableDevice* device, void FidoCableDiscovery::FidoCableDeviceConnected(FidoCableDevice* device,
bool success) { bool success) {
if (!success || !IsObservedV1Device(device->GetAddress())) { if (success) {
return; RecordCableV1DiscoveryEventOnce(
CableV1DiscoveryEvent::kFirstCableDeviceGATTConnected);
} }
RecordCableV1DiscoveryEventOnce(
CableV1DiscoveryEvent::kFirstCableDeviceGATTConnected);
} }
void FidoCableDiscovery::FidoCableDeviceTimeout(FidoCableDevice* device) { void FidoCableDiscovery::FidoCableDeviceTimeout(FidoCableDevice* device) {
if (!IsObservedV1Device(device->GetAddress())) {
return;
}
RecordCableV1DiscoveryEventOnce( RecordCableV1DiscoveryEventOnce(
CableV1DiscoveryEvent::kFirstCableDeviceTimeout); CableV1DiscoveryEvent::kFirstCableDeviceTimeout);
} }
...@@ -635,9 +631,6 @@ FidoCableDiscovery::GetCableDiscoveryData(const BluetoothDevice* device) const { ...@@ -635,9 +631,6 @@ FidoCableDiscovery::GetCableDiscoveryData(const BluetoothDevice* device) const {
auto observed_data = std::make_unique<ObservedDeviceData>(); auto observed_data = std::make_unique<ObservedDeviceData>();
observed_data->service_data = maybe_eid_from_service_data; observed_data->service_data = maybe_eid_from_service_data;
observed_data->uuids = uuids; observed_data->uuids = uuids;
if (result) {
observed_data->maybe_discovery_data = result->discovery_data;
}
observed_devices_.insert_or_assign(address, std::move(observed_data)); observed_devices_.insert_or_assign(address, std::move(observed_data));
return result; return result;
...@@ -734,13 +727,6 @@ FidoCableDiscovery::GetCableDiscoveryDataFromAuthenticatorEid( ...@@ -734,13 +727,6 @@ FidoCableDiscovery::GetCableDiscoveryDataFromAuthenticatorEid(
return base::nullopt; return base::nullopt;
} }
bool FidoCableDiscovery::IsObservedV1Device(const std::string& address) const {
const auto it = observed_devices_.find(address);
return it != observed_devices_.end() && it->second->maybe_discovery_data &&
it->second->maybe_discovery_data->version ==
CableDiscoveryData::Version::V1;
}
void FidoCableDiscovery::RecordCableV1DiscoveryEventOnce( void FidoCableDiscovery::RecordCableV1DiscoveryEventOnce(
CableV1DiscoveryEvent event) { CableV1DiscoveryEvent event) {
DCHECK(has_v1_discovery_data_); DCHECK(has_v1_discovery_data_);
......
...@@ -96,7 +96,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoCableDiscovery ...@@ -96,7 +96,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoCableDiscovery
base::Optional<CableEidArray> service_data; base::Optional<CableEidArray> service_data;
std::vector<CableEidArray> uuids; std::vector<CableEidArray> uuids;
base::Optional<CableDiscoveryData> maybe_discovery_data;
}; };
static const BluetoothUUID& CableAdvertisementUUID(); static const BluetoothUUID& CableAdvertisementUUID();
...@@ -143,7 +142,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoCableDiscovery ...@@ -143,7 +142,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoCableDiscovery
const BluetoothDevice* device) const; const BluetoothDevice* device) const;
base::Optional<Result> GetCableDiscoveryDataFromAuthenticatorEid( base::Optional<Result> GetCableDiscoveryDataFromAuthenticatorEid(
CableEidArray authenticator_eid) const; CableEidArray authenticator_eid) const;
bool IsObservedV1Device(const std::string& address) const;
void RecordCableV1DiscoveryEventOnce(CableV1DiscoveryEvent event); void RecordCableV1DiscoveryEventOnce(CableV1DiscoveryEvent event);
// FidoDeviceDiscovery: // FidoDeviceDiscovery:
......
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