| Index: content/browser/bluetooth/bluetooth_allowed_devices_map.cc
|
| diff --git a/content/browser/bluetooth/bluetooth_allowed_devices_map.cc b/content/browser/bluetooth/bluetooth_allowed_devices_map.cc
|
| index 7fd80f93a3d7b10662e499dca4addbd1c23ed0b6..bbd1cbb5f9e741dd3834fdf5498af23647b21065 100644
|
| --- a/content/browser/bluetooth/bluetooth_allowed_devices_map.cc
|
| +++ b/content/browser/bluetooth/bluetooth_allowed_devices_map.cc
|
| @@ -18,6 +18,15 @@ using device::BluetoothUUID;
|
|
|
| namespace content {
|
|
|
| +namespace {
|
| +
|
| +std::ostream& operator<<(std::ostream& out,
|
| + const WebBluetoothDeviceId& device_id) {
|
| + return out << device_id.str();
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| BluetoothAllowedDevicesMap::BluetoothAllowedDevicesMap() {}
|
| BluetoothAllowedDevicesMap::~BluetoothAllowedDevicesMap() {}
|
|
|
| @@ -86,16 +95,15 @@ const WebBluetoothDeviceId* BluetoothAllowedDevicesMap::GetDeviceId(
|
| const url::Origin& origin,
|
| const std::string& device_address) {
|
| auto address_map_iter = origin_to_device_address_to_id_map_.find(origin);
|
| - if (address_map_iter == origin_to_device_address_to_id_map_.end()) {
|
| + if (address_map_iter == origin_to_device_address_to_id_map_.end())
|
| return nullptr;
|
| - }
|
|
|
| const auto& device_address_to_id_map = address_map_iter->second;
|
|
|
| auto id_iter = device_address_to_id_map.find(device_address);
|
| - if (id_iter == device_address_to_id_map.end()) {
|
| + if (id_iter == device_address_to_id_map.end())
|
| return nullptr;
|
| - }
|
| +
|
| return &(id_iter->second);
|
| }
|
|
|
| @@ -103,9 +111,8 @@ const std::string& BluetoothAllowedDevicesMap::GetDeviceAddress(
|
| const url::Origin& origin,
|
| const WebBluetoothDeviceId& device_id) {
|
| auto id_map_iter = origin_to_device_id_to_address_map_.find(origin);
|
| - if (id_map_iter == origin_to_device_id_to_address_map_.end()) {
|
| + if (id_map_iter == origin_to_device_id_to_address_map_.end())
|
| return base::EmptyString();
|
| - }
|
|
|
| const auto& device_id_to_address_map = id_map_iter->second;
|
|
|
| @@ -119,9 +126,8 @@ bool BluetoothAllowedDevicesMap::IsOriginAllowedToAccessAtLeastOneService(
|
| const url::Origin& origin,
|
| const WebBluetoothDeviceId& device_id) const {
|
| auto id_map_iter = origin_to_device_id_to_services_map_.find(origin);
|
| - if (id_map_iter == origin_to_device_id_to_services_map_.end()) {
|
| + if (id_map_iter == origin_to_device_id_to_services_map_.end())
|
| return false;
|
| - }
|
|
|
| const auto& device_id_to_services_map = id_map_iter->second;
|
|
|
| @@ -135,14 +141,12 @@ bool BluetoothAllowedDevicesMap::IsOriginAllowedToAccessService(
|
| const url::Origin& origin,
|
| const WebBluetoothDeviceId& device_id,
|
| const BluetoothUUID& service_uuid) const {
|
| - if (BluetoothBlacklist::Get().IsExcluded(service_uuid)) {
|
| + if (BluetoothBlacklist::Get().IsExcluded(service_uuid))
|
| return false;
|
| - }
|
|
|
| auto id_map_iter = origin_to_device_id_to_services_map_.find(origin);
|
| - if (id_map_iter == origin_to_device_id_to_services_map_.end()) {
|
| + if (id_map_iter == origin_to_device_id_to_services_map_.end())
|
| return false;
|
| - }
|
|
|
| const auto& device_id_to_services_map = id_map_iter->second;
|
|
|
| @@ -167,13 +171,14 @@ void BluetoothAllowedDevicesMap::AddUnionOfServicesTo(
|
| std::unordered_set<BluetoothUUID, device::BluetoothUUIDHash>*
|
| unionOfServices) {
|
| for (const auto& filter : options->filters) {
|
| - for (const base::Optional<BluetoothUUID>& uuid : filter->services) {
|
| - unionOfServices->insert(uuid.value());
|
| - }
|
| - }
|
| - for (const base::Optional<BluetoothUUID>& uuid : options->optional_services) {
|
| - unionOfServices->insert(uuid.value());
|
| + if (!filter->services)
|
| + continue;
|
| +
|
| + for (const BluetoothUUID& uuid : filter->services.value())
|
| + unionOfServices->insert(uuid);
|
| }
|
| + for (const BluetoothUUID& uuid : options->optional_services)
|
| + unionOfServices->insert(uuid);
|
| }
|
|
|
| } // namespace content
|
|
|