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

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

Issue 2506813003: Use new wrapper types for web_bluetooth.mojom (Closed)
Patch Set: address comments 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 8f921326a892d6d1d6c516b77c0a65a9d75a90d2..b7687e1604479b87a7d3a62364c8126c2f53403e 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,26 +110,25 @@ 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,23 +138,23 @@ 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)) {
+ if (MatchesFilter(device_name, device_uuids, filter))
return true;
- }
}
return false;
}
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
// devices so performing a Dual scan will find devices that the API is not
@@ -164,9 +162,8 @@ std::unique_ptr<device::BluetoothDiscoveryFilter> ComputeScanFilter(
// devices they are not able to interact with, we only perform an LE Scan.
auto discovery_filter = base::MakeUnique<device::BluetoothDiscoveryFilter>(
device::BLUETOOTH_TRANSPORT_LE);
- for (const BluetoothUUID& service : services) {
+ for (const BluetoothUUID& service : services)
discovery_filter->AddUUID(service);
- }
return discovery_filter;
}
@@ -383,9 +380,8 @@ void BluetoothDeviceChooserController::AddFilteredDevice(
}
void BluetoothDeviceChooserController::AdapterPoweredChanged(bool powered) {
- if (!powered && discovery_session_.get()) {
+ if (!powered && discovery_session_.get())
StopDiscoverySession(std::move(discovery_session_));
- }
if (chooser_.get()) {
chooser_->SetAdapterPresence(
@@ -397,9 +393,8 @@ void BluetoothDeviceChooserController::AdapterPoweredChanged(bool powered) {
}
}
- if (!powered) {
+ if (!powered)
discovery_session_timer_.Stop();
- }
}
int BluetoothDeviceChooserController::CalculateSignalStrengthLevel(
@@ -432,9 +427,8 @@ void BluetoothDeviceChooserController::SetTestScanDurationForTesting() {
void BluetoothDeviceChooserController::PopulateConnectedDevices() {
for (const device::BluetoothDevice* device : adapter_->GetDevices()) {
- if (device->IsGattConnected()) {
+ if (device->IsGattConnected())
AddFilteredDevice(*device);
- }
}
}
@@ -470,9 +464,8 @@ void BluetoothDeviceChooserController::StopDeviceDiscovery() {
}
StopDiscoverySession(std::move(discovery_session_));
- if (chooser_) {
+ if (chooser_)
chooser_->ShowDiscoveryState(BluetoothChooser::DiscoveryState::IDLE);
- }
}
void BluetoothDeviceChooserController::OnStartDiscoverySessionSuccess(

Powered by Google App Engine
This is Rietveld 408576698