| Index: content/renderer/bluetooth/web_bluetooth_impl.cc
|
| diff --git a/content/renderer/bluetooth/web_bluetooth_impl.cc b/content/renderer/bluetooth/web_bluetooth_impl.cc
|
| index ef89b10da5d1c74e3a1d9b01214f64eafb92cec1..549d5cf18abbfaf059fa16b62b866e9f59c0b108 100644
|
| --- a/content/renderer/bluetooth/web_bluetooth_impl.cc
|
| +++ b/content/renderer/bluetooth/web_bluetooth_impl.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/optional.h"
|
| #include "content/child/mojo/type_converters.h"
|
| #include "content/child/thread_safe_sender.h"
|
| +#include "content/common/bluetooth/web_bluetooth_device_id.h"
|
| #include "content/renderer/bluetooth/bluetooth_type_converters.h"
|
| #include "ipc/ipc_message.h"
|
| #include "mojo/public/cpp/bindings/array.h"
|
| @@ -57,19 +58,20 @@ void WebBluetoothImpl::connect(
|
| blink::WebBluetoothRemoteGATTServerConnectCallbacks* callbacks) {
|
| // TODO(crbug.com/495270): After the Bluetooth Tree is implemented, there will
|
| // only be one object per device. But for now we replace the previous object.
|
| - connected_devices_[device_id.utf8()] = device;
|
| + WebBluetoothDeviceId device_id_obj = WebBluetoothDeviceId(device_id.utf8());
|
| + connected_devices_[device_id_obj] = device;
|
|
|
| GetWebBluetoothService().RemoteServerConnect(
|
| - mojo::String::From(device_id),
|
| + std::move(device_id_obj),
|
| base::Bind(&WebBluetoothImpl::OnConnectComplete, base::Unretained(this),
|
| base::Passed(base::WrapUnique(callbacks))));
|
| }
|
|
|
| void WebBluetoothImpl::disconnect(const blink::WebString& device_id) {
|
| - connected_devices_.erase(device_id.utf8());
|
| + WebBluetoothDeviceId device_id_obj = WebBluetoothDeviceId(device_id.utf8());
|
| + connected_devices_.erase(device_id_obj);
|
|
|
| - GetWebBluetoothService().RemoteServerDisconnect(
|
| - mojo::String::From(device_id));
|
| + GetWebBluetoothService().RemoteServerDisconnect(std::move(device_id_obj));
|
| }
|
|
|
| void WebBluetoothImpl::getPrimaryServices(
|
| @@ -80,7 +82,7 @@ void WebBluetoothImpl::getPrimaryServices(
|
| DCHECK(blink::mojom::IsKnownEnumValue(
|
| static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity)));
|
| GetWebBluetoothService().RemoteServerGetPrimaryServices(
|
| - mojo::String::From(device_id),
|
| + WebBluetoothDeviceId(device_id.utf8()),
|
| static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity),
|
| services_uuid.isEmpty()
|
| ? base::nullopt
|
| @@ -188,7 +190,7 @@ void WebBluetoothImpl::OnRequestDeviceComplete(
|
| uuids[i] = blink::WebString::fromUTF8(device->uuids[i]);
|
|
|
| callbacks->onSuccess(base::WrapUnique(new blink::WebBluetoothDeviceInit(
|
| - blink::WebString::fromUTF8(device->id),
|
| + blink::WebString::fromUTF8(device->id.str()),
|
| device->name.is_null() ? blink::WebString()
|
| : blink::WebString::fromUTF8(device->name),
|
| uuids)));
|
| @@ -197,7 +199,8 @@ void WebBluetoothImpl::OnRequestDeviceComplete(
|
| }
|
| }
|
|
|
| -void WebBluetoothImpl::GattServerDisconnected(const mojo::String& device_id) {
|
| +void WebBluetoothImpl::GattServerDisconnected(
|
| + const WebBluetoothDeviceId& device_id) {
|
| auto device_iter = connected_devices_.find(device_id);
|
| if (device_iter != connected_devices_.end()) {
|
| // Remove device from the map before calling dispatchGattServerDisconnected
|
|
|