Index: content/browser/bluetooth/bluetooth_metrics.cc |
diff --git a/content/browser/bluetooth/bluetooth_metrics.cc b/content/browser/bluetooth/bluetooth_metrics.cc |
index c9e540517d0e3603a7503fb9a15ddd536b554390..dcbc576f88bf9699c31fb8a18c1a3956cd68295f 100644 |
--- a/content/browser/bluetooth/bluetooth_metrics.cc |
+++ b/content/browser/bluetooth/bluetooth_metrics.cc |
@@ -63,13 +63,16 @@ void RecordRequestDeviceOutcome(UMARequestDeviceOutcome outcome) { |
} |
static void RecordRequestDeviceFilters( |
- const mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>& filters) { |
+ const std::vector<blink::mojom::WebBluetoothScanFilterPtr>& filters) { |
UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.Filters.Count", |
filters.size()); |
for (const auto& filter : filters) { |
+ if (!filter->services) { |
+ continue; |
+ } |
UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.FilterSize", |
- filter->services.size()); |
- for (const base::Optional<BluetoothUUID>& service : filter->services) { |
+ filter->services->size()); |
+ for (const BluetoothUUID& service : filter->services.value()) { |
// TODO(ortuno): Use a macro to histogram strings. |
// http://crbug.com/520284 |
UMA_HISTOGRAM_SPARSE_SLOWLY( |
@@ -79,10 +82,10 @@ static void RecordRequestDeviceFilters( |
} |
static void RecordRequestDeviceOptionalServices( |
- const mojo::Array<base::Optional<BluetoothUUID>>& optional_services) { |
+ const std::vector<BluetoothUUID>& optional_services) { |
UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.OptionalServices.Count", |
optional_services.size()); |
- for (const base::Optional<BluetoothUUID>& service : optional_services) { |
+ for (const BluetoothUUID& service : optional_services) { |
// TODO(ortuno): Use a macro to histogram strings. |
// http://crbug.com/520284 |
UMA_HISTOGRAM_SPARSE_SLOWLY( |
@@ -94,14 +97,16 @@ static void RecordRequestDeviceOptionalServices( |
static void RecordUnionOfServices( |
const blink::mojom::WebBluetoothRequestDeviceOptionsPtr& options) { |
std::unordered_set<std::string> union_of_services; |
- for (const base::Optional<BluetoothUUID>& service : |
- options->optional_services) { |
- union_of_services.insert(service->canonical_value()); |
+ for (const BluetoothUUID& service : options->optional_services) { |
+ union_of_services.insert(service.canonical_value()); |
} |
for (const auto& filter : options->filters) { |
- for (const base::Optional<BluetoothUUID>& service : filter->services) { |
- union_of_services.insert(service->canonical_value()); |
+ if (!filter->services) { |
+ continue; |
+ } |
+ for (const BluetoothUUID& service : filter->services.value()) { |
+ union_of_services.insert(service.canonical_value()); |
} |
} |