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

Unified Diff: content/browser/bluetooth/bluetooth_allowed_devices_map.cc

Issue 1922923002: bluetooth: Move requestDevice to mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-separate-tests-request-device
Patch Set: Remove debug log Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
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 cd2e78929a3d2edab26522c518ac40ea406967fd..1f9b2cfd755cc00b7b5685266369e9a2b4940b5d 100644
--- a/content/browser/bluetooth/bluetooth_allowed_devices_map.cc
+++ b/content/browser/bluetooth/bluetooth_allowed_devices_map.cc
@@ -11,9 +11,7 @@
#include "base/stl_util.h"
#include "base/strings/string_util.h"
#include "content/browser/bluetooth/bluetooth_blacklist.h"
-#include "content/common/bluetooth/bluetooth_scan_filter.h"
#include "crypto/random.h"
-#include "device/bluetooth/bluetooth_uuid.h"
using device::BluetoothUUID;
@@ -42,18 +40,11 @@ BluetoothAllowedDevicesMap::~BluetoothAllowedDevicesMap() {}
const std::string& BluetoothAllowedDevicesMap::AddDevice(
const url::Origin& origin,
const std::string& device_address,
- const std::vector<BluetoothScanFilter>& filters,
- const std::vector<BluetoothUUID>& optional_services) {
+ const blink::mojom::WebBluetoothRequestDeviceOptionsPtr& options) {
VLOG(1) << "Adding a device to Map of Allowed Devices.";
- // "Unique" Origins generate the same key in maps. The set of "unique"
- // Origins that generate the same key does not intersect the set of
- // potentially trustworthy origins; since Bluetooth is only available for
- // potntially trustworthy origins we should never receive a request from a
- // "unique" Origin.
- // See url::Origin for what constitutes a "unique" Origin and the
- // Secure Contexts spec for what constitutes a Trusworthy Origin:
- // https://w3c.github.io/webappsec-secure-contexts/
+ // "Unique" Origins generate the same key in maps, therefore are not
+ // supported.
CHECK(!origin.unique());
auto device_address_to_id_map = origin_to_device_address_to_id_map_[origin];
@@ -63,8 +54,7 @@ const std::string& BluetoothAllowedDevicesMap::AddDevice(
const auto& device_id = id_iter->second;
AddUnionOfServicesTo(
- filters, optional_services,
- &origin_to_device_id_to_services_map_[origin][device_id]);
+ options, &origin_to_device_id_to_services_map_[origin][device_id]);
return origin_to_device_address_to_id_map_[origin][device_address];
}
@@ -74,8 +64,7 @@ const std::string& BluetoothAllowedDevicesMap::AddDevice(
origin_to_device_address_to_id_map_[origin][device_address] = device_id;
origin_to_device_id_to_address_map_[origin][device_id] = device_address;
AddUnionOfServicesTo(
- filters, optional_services,
- &origin_to_device_id_to_services_map_[origin][device_id]);
+ options, &origin_to_device_id_to_services_map_[origin][device_id]);
CHECK(device_id_set_.insert(device_id).second);
@@ -141,8 +130,9 @@ bool BluetoothAllowedDevicesMap::IsOriginAllowedToAccessService(
const url::Origin& origin,
const std::string& device_id,
const std::string& service_uuid) const {
- if (BluetoothBlacklist::Get().IsExcluded(BluetoothUUID(service_uuid)))
+ if (BluetoothBlacklist::Get().IsExcluded(BluetoothUUID(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()) {
@@ -168,16 +158,15 @@ std::string BluetoothAllowedDevicesMap::GenerateDeviceId() {
}
void BluetoothAllowedDevicesMap::AddUnionOfServicesTo(
- const std::vector<BluetoothScanFilter>& filters,
- const std::vector<device::BluetoothUUID>& optional_services,
+ const blink::mojom::WebBluetoothRequestDeviceOptionsPtr& options,
std::set<std::string>* unionOfServices) {
- for (const auto& filter : filters) {
- for (const BluetoothUUID& uuid : filter.services) {
- unionOfServices->insert(uuid.canonical_value());
+ for (const auto& filter : options->filters) {
+ for (const std::string& uuid : filter->services) {
+ unionOfServices->insert(uuid);
}
}
- for (const BluetoothUUID& uuid : optional_services) {
- unionOfServices->insert(uuid.canonical_value());
+ for (const std::string& uuid : options->optional_services) {
+ unionOfServices->insert(uuid);
}
}

Powered by Google App Engine
This is Rietveld 408576698