OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // ID Not In Map Note: A service, characteristic, or descriptor ID not in the | 5 // ID Not In Map Note: A service, characteristic, or descriptor ID not in the |
6 // corresponding WebBluetoothServiceImpl map [service_id_to_device_address_, | 6 // corresponding WebBluetoothServiceImpl map [service_id_to_device_address_, |
7 // characteristic_id_to_service_id_, descriptor_id_to_characteristic_id_] | 7 // characteristic_id_to_service_id_, descriptor_id_to_characteristic_id_] |
8 // implies a hostile renderer because a renderer obtains the corresponding ID | 8 // implies a hostile renderer because a renderer obtains the corresponding ID |
9 // from this class and it will be added to the map at that time. | 9 // from this class and it will be added to the map at that time. |
10 | 10 |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 std::string characteristic_instance_id = characteristic->GetIdentifier(); | 484 std::string characteristic_instance_id = characteristic->GetIdentifier(); |
485 auto insert_result = characteristic_id_to_service_id_.insert( | 485 auto insert_result = characteristic_id_to_service_id_.insert( |
486 std::make_pair(characteristic_instance_id, service_instance_id)); | 486 std::make_pair(characteristic_instance_id, service_instance_id)); |
487 // If value is already in map, DCHECK it's valid. | 487 // If value is already in map, DCHECK it's valid. |
488 if (!insert_result.second) | 488 if (!insert_result.second) |
489 DCHECK(insert_result.first->second == service_instance_id); | 489 DCHECK(insert_result.first->second == service_instance_id); |
490 | 490 |
491 blink::mojom::WebBluetoothRemoteGATTCharacteristicPtr characteristic_ptr = | 491 blink::mojom::WebBluetoothRemoteGATTCharacteristicPtr characteristic_ptr = |
492 blink::mojom::WebBluetoothRemoteGATTCharacteristic::New(); | 492 blink::mojom::WebBluetoothRemoteGATTCharacteristic::New(); |
493 characteristic_ptr->instance_id = characteristic_instance_id; | 493 characteristic_ptr->instance_id = characteristic_instance_id; |
494 characteristic_ptr->uuid = characteristic->GetUUID().canonical_value(); | 494 characteristic_ptr->uuid = characteristic->GetUUID(); |
495 characteristic_ptr->properties = | 495 characteristic_ptr->properties = |
496 static_cast<uint32_t>(characteristic->GetProperties()); | 496 static_cast<uint32_t>(characteristic->GetProperties()); |
497 response_characteristics.push_back(std::move(characteristic_ptr)); | 497 response_characteristics.push_back(std::move(characteristic_ptr)); |
498 | 498 |
499 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { | 499 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { |
500 break; | 500 break; |
501 } | 501 } |
502 } | 502 } |
503 | 503 |
504 if (!response_characteristics.empty()) { | 504 if (!response_characteristics.empty()) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 } | 558 } |
559 std::string descriptor_instance_id = descriptor->GetIdentifier(); | 559 std::string descriptor_instance_id = descriptor->GetIdentifier(); |
560 auto insert_result = descriptor_id_to_characteristic_id_.insert( | 560 auto insert_result = descriptor_id_to_characteristic_id_.insert( |
561 {descriptor_instance_id, characteristic_instance_id}); | 561 {descriptor_instance_id, characteristic_instance_id}); |
562 // If value is already in map, DCHECK it's valid. | 562 // If value is already in map, DCHECK it's valid. |
563 if (!insert_result.second) | 563 if (!insert_result.second) |
564 DCHECK(insert_result.first->second == characteristic_instance_id); | 564 DCHECK(insert_result.first->second == characteristic_instance_id); |
565 | 565 |
566 auto descriptor_ptr(blink::mojom::WebBluetoothRemoteGATTDescriptor::New()); | 566 auto descriptor_ptr(blink::mojom::WebBluetoothRemoteGATTDescriptor::New()); |
567 descriptor_ptr->instance_id = descriptor_instance_id; | 567 descriptor_ptr->instance_id = descriptor_instance_id; |
568 descriptor_ptr->uuid = descriptor->GetUUID().canonical_value(); | 568 descriptor_ptr->uuid = descriptor->GetUUID(); |
569 response_descriptors.push_back(std::move(descriptor_ptr)); | 569 response_descriptors.push_back(std::move(descriptor_ptr)); |
570 | 570 |
571 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { | 571 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { |
572 break; | 572 break; |
573 } | 573 } |
574 } | 574 } |
575 | 575 |
576 if (!response_descriptors.empty()) { | 576 if (!response_descriptors.empty()) { |
577 callback.Run(blink::mojom::WebBluetoothResult::SUCCESS, | 577 callback.Run(blink::mojom::WebBluetoothResult::SUCCESS, |
578 std::move(response_descriptors)); | 578 std::move(response_descriptors)); |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
782 const std::string& device_address = device->GetAddress(); | 782 const std::string& device_address = device->GetAddress(); |
783 auto insert_result = service_id_to_device_address_.insert( | 783 auto insert_result = service_id_to_device_address_.insert( |
784 make_pair(service_instance_id, device_address)); | 784 make_pair(service_instance_id, device_address)); |
785 // If value is already in map, DCHECK it's valid. | 785 // If value is already in map, DCHECK it's valid. |
786 if (!insert_result.second) | 786 if (!insert_result.second) |
787 DCHECK_EQ(insert_result.first->second, device_address); | 787 DCHECK_EQ(insert_result.first->second, device_address); |
788 | 788 |
789 blink::mojom::WebBluetoothRemoteGATTServicePtr service_ptr = | 789 blink::mojom::WebBluetoothRemoteGATTServicePtr service_ptr = |
790 blink::mojom::WebBluetoothRemoteGATTService::New(); | 790 blink::mojom::WebBluetoothRemoteGATTService::New(); |
791 service_ptr->instance_id = service_instance_id; | 791 service_ptr->instance_id = service_instance_id; |
792 service_ptr->uuid = service->GetUUID().canonical_value(); | 792 service_ptr->uuid = service->GetUUID(); |
793 response_services.push_back(std::move(service_ptr)); | 793 response_services.push_back(std::move(service_ptr)); |
794 | 794 |
795 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { | 795 if (quantity == blink::mojom::WebBluetoothGATTQueryQuantity::SINGLE) { |
796 break; | 796 break; |
797 } | 797 } |
798 } | 798 } |
799 | 799 |
800 if (!response_services.empty()) { | 800 if (!response_services.empty()) { |
801 DVLOG(1) << "Services found in device."; | 801 DVLOG(1) << "Services found in device."; |
802 RecordGetPrimaryServicesOutcome(quantity, | 802 RecordGetPrimaryServicesOutcome(quantity, |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1045 characteristic_id_to_service_id_.clear(); | 1045 characteristic_id_to_service_id_.clear(); |
1046 service_id_to_device_address_.clear(); | 1046 service_id_to_device_address_.clear(); |
1047 connected_devices_.reset( | 1047 connected_devices_.reset( |
1048 new FrameConnectedBluetoothDevices(render_frame_host_)); | 1048 new FrameConnectedBluetoothDevices(render_frame_host_)); |
1049 allowed_devices_map_ = BluetoothAllowedDevicesMap(); | 1049 allowed_devices_map_ = BluetoothAllowedDevicesMap(); |
1050 device_chooser_controller_.reset(); | 1050 device_chooser_controller_.reset(); |
1051 BluetoothAdapterFactoryWrapper::Get().ReleaseAdapter(this); | 1051 BluetoothAdapterFactoryWrapper::Get().ReleaseAdapter(this); |
1052 } | 1052 } |
1053 | 1053 |
1054 } // namespace content | 1054 } // namespace content |
OLD | NEW |