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

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

Issue 2506813003: Use new wrapper types for web_bluetooth.mojom (Closed)
Patch Set: merge master and resolve conflicts Created 4 years, 1 month 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_device_chooser_controller.cc
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
index 1128fb80d4c8825cf9894ad18093c32399660298..b6d7721e630c7809550eb12a51cca3fc2e7a063f 100644
--- a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
+++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
@@ -64,17 +64,17 @@ void LogRequestDeviceOptions(
int i = 0;
for (const auto& filter : options->filters) {
VLOG(1) << "Filter #" << ++i;
- if (!filter->name.is_null())
- VLOG(1) << "Name: " << filter->name;
+ if (filter->name)
+ VLOG(1) << "Name: " << filter->name.value();
- if (!filter->name_prefix.is_null())
- VLOG(1) << "Name Prefix: " << filter->name_prefix;
+ if (filter->name_prefix)
+ VLOG(1) << "Name Prefix: " << filter->name_prefix.value();
- if (!filter->services.is_null()) {
+ if (filter->services) {
VLOG(1) << "Services: ";
VLOG(1) << "\t[";
- for (const auto& service : filter->services)
- VLOG(1) << "\t\t" << service->canonical_value();
+ for (const auto& service : filter->services.value())
+ VLOG(1) << "\t\t" << service.canonical_value();
VLOG(1) << "\t]";
}
}
@@ -83,25 +83,24 @@ void LogRequestDeviceOptions(
bool IsEmptyOrInvalidFilter(
const blink::mojom::WebBluetoothScanFilterPtr& filter) {
// At least one member needs to be present.
- if (filter->name.is_null() && filter->name_prefix.is_null() &&
- filter->services.is_null())
+ if (!filter->name && !filter->name_prefix && !filter->services)
return true;
// The renderer will never send a name or a name_prefix longer than
// kMaxLengthForDeviceName.
- if (!filter->name.is_null() && filter->name.size() > kMaxLengthForDeviceName)
+ if (filter->name && filter->name->size() > kMaxLengthForDeviceName)
return true;
- if (!filter->name_prefix.is_null() && filter->name_prefix.size() == 0)
+ if (filter->name_prefix && filter->name_prefix->size() == 0)
return true;
- if (!filter->name_prefix.is_null() &&
- filter->name_prefix.size() > kMaxLengthForDeviceName)
+ if (filter->name_prefix &&
+ filter->name_prefix->size() > kMaxLengthForDeviceName)
return true;
return false;
}
bool HasEmptyOrInvalidFilter(
- const mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
+ const std::vector<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
return filters.empty()
? true
: filters.end() != std::find_if(filters.begin(), filters.end(),
@@ -111,24 +110,24 @@ bool HasEmptyOrInvalidFilter(
bool MatchesFilter(const std::string* device_name,
const UUIDSet& device_uuids,
const blink::mojom::WebBluetoothScanFilterPtr& filter) {
- if (!filter->name.is_null()) {
+ if (filter->name) {
if (device_name == nullptr)
return false;
- if (filter->name != *device_name)
+ if (filter->name.value() != *device_name)
return false;
}
- if (!filter->name_prefix.is_null() && filter->name_prefix.size()) {
+ if (filter->name_prefix && filter->name_prefix->size()) {
if (device_name == nullptr)
return false;
- if (!base::StartsWith(*device_name, filter->name_prefix.get(),
+ if (!base::StartsWith(*device_name, filter->name_prefix.value(),
base::CompareCase::SENSITIVE))
return false;
}
- if (!filter->services.is_null()) {
- for (const base::Optional<BluetoothUUID>& service : filter->services) {
- if (!base::ContainsKey(device_uuids, service.value())) {
+ if (filter->services) {
+ for (const auto& service : filter->services.value()) {
+ if (!base::ContainsKey(device_uuids, service)) {
return false;
}
}
@@ -140,7 +139,7 @@ bool MatchesFilter(const std::string* device_name,
bool MatchesFilters(
const std::string* device_name,
const UUIDSet& device_uuids,
- const mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
+ const std::vector<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
DCHECK(!HasEmptyOrInvalidFilter(filters));
for (const auto& filter : filters) {
if (MatchesFilter(device_name, device_uuids, filter)) {
@@ -151,11 +150,14 @@ bool MatchesFilters(
}
std::unique_ptr<device::BluetoothDiscoveryFilter> ComputeScanFilter(
- const mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
+ const std::vector<blink::mojom::WebBluetoothScanFilterPtr>& filters) {
std::unordered_set<BluetoothUUID, device::BluetoothUUIDHash> services;
for (const auto& filter : filters) {
- for (const base::Optional<BluetoothUUID>& service : filter->services) {
- services.insert(service.value());
+ if (!filter->services) {
+ continue;
+ }
+ for (const auto& service : filter->services.value()) {
+ services.insert(service);
}
}
// There isn't much support for GATT over BR/EDR from neither platforms nor

Powered by Google App Engine
This is Rietveld 408576698