Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(720)

Unified Diff: content/renderer/bluetooth/web_bluetooth_impl.cc

Issue 2142813003: bluetooth: Avoid including non-blink mojo bindings in blink code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@my-origin
Patch Set: Go back to static cast Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..f87bb37ef2056358a19a0d04d34a6cdc9ca41dc3 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 shouldn't use non-blink mojo bindings so we can't return a non-blink
Jeffrey Yasskin 2016/07/13 20:34:58 Maybe "Blink can't use non-blink mojo enums like b
ortuno 2016/07/13 22:47:28 Done.
+// enum. For that reason we cast to int32_t.
+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,12 @@ 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) {
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 +90,12 @@ 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) {
GetWebBluetoothService().RemoteServiceGetCharacteristics(
- mojo::String::From(service_instance_id), quantity,
+ mojo::String::From(service_instance_id),
+ static_cast<blink::mojom::WebBluetoothGATTQueryQuantity>(quantity),
Jeffrey Yasskin 2016/07/13 20:34:58 Could you CHECK(IsKnownEnumValue(static_cast<blink
ortuno 2016/07/13 22:47:28 I could but I'm not sure what would be the benefit
Jeffrey Yasskin 2016/07/13 22:56:14 It makes sure that we match enums across the bound
ortuno 2016/07/13 23:12:39 Done.
characteristics_uuid.isEmpty()
? base::nullopt
: base::make_optional(
@@ -176,7 +187,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 +210,7 @@ void WebBluetoothImpl::OnConnectComplete(
if (error == blink::mojom::WebBluetoothError::SUCCESS) {
callbacks->onSuccess();
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}
@@ -221,7 +232,7 @@ void WebBluetoothImpl::OnGetPrimaryServicesComplete(
}
callbacks->onSuccess(promise_services);
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}
@@ -246,7 +257,7 @@ void WebBluetoothImpl::OnGetCharacteristicsComplete(
}
callbacks->onSuccess(promise_characteristics);
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}
@@ -257,7 +268,7 @@ void WebBluetoothImpl::OnReadValueComplete(
if (error == blink::mojom::WebBluetoothError::SUCCESS) {
callbacks->onSuccess(value.PassStorage());
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}
@@ -268,7 +279,7 @@ void WebBluetoothImpl::OnWriteValueComplete(
if (error == blink::mojom::WebBluetoothError::SUCCESS) {
callbacks->onSuccess(value);
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}
@@ -278,7 +289,7 @@ void WebBluetoothImpl::OnStartNotificationsComplete(
if (error == blink::mojom::WebBluetoothError::SUCCESS) {
callbacks->onSuccess();
} else {
- callbacks->onError(error);
+ callbacks->onError(ToInt32(error));
}
}

Powered by Google App Engine
This is Rietveld 408576698