Index: device/bluetooth/bluetooth_adapter_mac.mm |
diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm |
index 10f763901184d4b89d06938545d72d305cd030cd..65efd66d2eaf981ed9c9dd686ff50a3e21098773 100644 |
--- a/device/bluetooth/bluetooth_adapter_mac.mm |
+++ b/device/bluetooth/bluetooth_adapter_mac.mm |
@@ -502,11 +502,16 @@ void BluetoothAdapterMac::ClassicDeviceAdded(IOBluetoothDevice* device) { |
} |
device_classic = new BluetoothClassicDeviceMac(this, device); |
- devices_.set(device_address, base::WrapUnique(device_classic)); |
VLOG(1) << "Adding new classic device: " << device_classic->GetAddress(); |
+ auto insertion = devices_.insert( |
+ std::make_pair(device_address, std::move(device_classic))); |
+ if (!insertion.second) { |
+ VLOG(1) << "Insertion of device_classic failed."; |
+ return; |
+ } |
for (auto& observer : observers_) |
- observer.DeviceAdded(this, device_classic); |
+ observer.DeviceAdded(this, insertion.first->second.get()); |
} |
void BluetoothAdapterMac::LowEnergyDeviceUpdated( |
@@ -566,9 +571,15 @@ void BluetoothAdapterMac::LowEnergyDeviceUpdated( |
if (is_new_device) { |
std::string device_address = |
BluetoothLowEnergyDeviceMac::GetPeripheralHashAddress(peripheral); |
- devices_.add(device_address, std::unique_ptr<BluetoothDevice>(device_mac)); |
+ auto insertion = |
+ devices_.insert(std::make_pair(device_address, std::move(device_mac))); |
+ |
+ if (!insertion.second) { |
+ VLOG(1) << "Insertion of device_mac failed."; |
+ return; |
+ } |
for (auto& observer : observers_) |
- observer.DeviceAdded(this, device_mac); |
+ observer.DeviceAdded(this, insertion.first->second.get()); |
} else { |
for (auto& observer : observers_) |
observer.DeviceChanged(this, device_mac); |
@@ -620,8 +631,7 @@ BluetoothAdapterMac::RetrieveGattConnectedDevicesWithService( |
device_mac = new BluetoothLowEnergyDeviceMac(this, peripheral); |
std::string device_address = |
BluetoothLowEnergyDeviceMac::GetPeripheralHashAddress(peripheral); |
- devices_.add(device_address, |
- std::unique_ptr<BluetoothDevice>(device_mac)); |
+ devices_.insert(std::make_pair(device_address, std::move(device_mac))); |
for (auto& observer : observers_) { |
observer.DeviceAdded(this, device_mac); |
} |
@@ -698,7 +708,7 @@ BluetoothAdapterMac::GetBluetoothLowEnergyDeviceMac(CBPeripheral* peripheral) { |
if (iter == devices_.end()) { |
return nil; |
} |
- return static_cast<BluetoothLowEnergyDeviceMac*>(iter->second); |
+ return static_cast<BluetoothLowEnergyDeviceMac*>(iter->second.get()); |
} |
bool BluetoothAdapterMac::DoesCollideWithKnownDevice( |