| 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 f245362d2259568b00c0b5ff799a9a313eda4e2e..3ce2a4b0c463eb78f26d15ba2a2ec82c82be3244 100644
|
| --- a/content/renderer/bluetooth/web_bluetooth_impl.cc
|
| +++ b/content/renderer/bluetooth/web_bluetooth_impl.cc
|
| @@ -25,6 +25,16 @@
|
|
|
| namespace content {
|
|
|
| +namespace {
|
| +
|
| +// Blink can't use non-blink mojo enums like blink::mojom::WebBluetoothError, so
|
| +// we pass it as an int32 across the boundary.
|
| +int32_t ToInt32(blink::mojom::WebBluetoothError error) {
|
| + return static_cast<int32_t>(error);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| WebBluetoothImpl::WebBluetoothImpl(shell::InterfaceProvider* remote_interfaces)
|
| : remote_interfaces_(remote_interfaces), binding_(this) {}
|
|
|
| @@ -64,12 +74,14 @@ void WebBluetoothImpl::disconnect(const blink::WebString& device_id) {
|
|
|
| void WebBluetoothImpl::getPrimaryServices(
|
| const blink::WebString& device_id,
|
| -
|
| - blink::mojom::WebBluetoothGATTQueryQuantity quantity,
|
| + int32_t quantity,
|
| const blink::WebString& services_uuid,
|
| blink::WebBluetoothGetPrimaryServicesCallbacks* callbacks) {
|
| + DCHECK(blink::mojom::IsKnownEnumValue(
|
| + static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity)));
|
| GetWebBluetoothService().RemoteServerGetPrimaryServices(
|
| - mojo::String::From(device_id), quantity,
|
| + mojo::String::From(device_id),
|
| + static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity),
|
| services_uuid.isEmpty()
|
| ? base::nullopt
|
| : base::make_optional(device::BluetoothUUID(services_uuid.utf8())),
|
| @@ -80,11 +92,14 @@ void WebBluetoothImpl::getPrimaryServices(
|
|
|
| void WebBluetoothImpl::getCharacteristics(
|
| const blink::WebString& service_instance_id,
|
| - blink::mojom::WebBluetoothGATTQueryQuantity quantity,
|
| + int32_t quantity,
|
| const blink::WebString& characteristics_uuid,
|
| blink::WebBluetoothGetCharacteristicsCallbacks* callbacks) {
|
| + DCHECK(blink::mojom::IsKnownEnumValue(
|
| + static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity)));
|
| GetWebBluetoothService().RemoteServiceGetCharacteristics(
|
| - mojo::String::From(service_instance_id), quantity,
|
| + mojo::String::From(service_instance_id),
|
| + static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity),
|
| characteristics_uuid.isEmpty()
|
| ? base::nullopt
|
| : base::make_optional(
|
| @@ -176,7 +191,7 @@ void WebBluetoothImpl::OnRequestDeviceComplete(
|
| blink::WebString::fromUTF8(device->id),
|
| blink::WebString::fromUTF8(device->name), uuids)));
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -199,7 +214,7 @@ void WebBluetoothImpl::OnConnectComplete(
|
| if (error == blink::mojom::WebBluetoothError::SUCCESS) {
|
| callbacks->onSuccess();
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -221,7 +236,7 @@ void WebBluetoothImpl::OnGetPrimaryServicesComplete(
|
| }
|
| callbacks->onSuccess(promise_services);
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -246,7 +261,7 @@ void WebBluetoothImpl::OnGetCharacteristicsComplete(
|
| }
|
| callbacks->onSuccess(promise_characteristics);
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -257,7 +272,7 @@ void WebBluetoothImpl::OnReadValueComplete(
|
| if (error == blink::mojom::WebBluetoothError::SUCCESS) {
|
| callbacks->onSuccess(value.PassStorage());
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -268,7 +283,7 @@ void WebBluetoothImpl::OnWriteValueComplete(
|
| if (error == blink::mojom::WebBluetoothError::SUCCESS) {
|
| callbacks->onSuccess(value);
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
| @@ -278,7 +293,7 @@ void WebBluetoothImpl::OnStartNotificationsComplete(
|
| if (error == blink::mojom::WebBluetoothError::SUCCESS) {
|
| callbacks->onSuccess();
|
| } else {
|
| - callbacks->onError(error);
|
| + callbacks->onError(ToInt32(error));
|
| }
|
| }
|
|
|
|
|