| 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());
|
| }
|
| }
|
|
|
|
|