Index: third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom |
diff --git a/third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom b/third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom |
index c641728ca7719b88caac7fe76d7ab9c7c8cc9add..4a3c8270824388088a7f10af51e83ab870c6d737 100644 |
--- a/third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom |
+++ b/third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom |
@@ -20,6 +20,7 @@ enum WebBluetoothResult { |
// InvalidStateError: |
SERVICE_NO_LONGER_EXISTS, |
CHARACTERISTIC_NO_LONGER_EXISTS, |
+ DESCRIPTOR_NO_LONGER_EXISTS, |
// NetworkError: |
CONNECT_ALREADY_IN_PROGRESS, |
CONNECT_ATTRIBUTE_LENGTH_INVALID, |
@@ -51,6 +52,8 @@ enum WebBluetoothResult { |
NO_SERVICES_FOUND, |
CHARACTERISTIC_NOT_FOUND, |
NO_CHARACTERISTICS_FOUND, |
+ DESCRIPTOR_NOT_FOUND, |
+ NO_DESCRIPTORS_FOUND, |
WEB_BLUETOOTH_NOT_SUPPORTED, |
BLUETOOTH_LOW_ENERGY_NOT_AVAILABLE, |
// NotSupportedError: |
@@ -61,6 +64,7 @@ enum WebBluetoothResult { |
GATT_UNTRANSLATED_ERROR_CODE, |
// SecurityError: |
GATT_NOT_AUTHORIZED, |
+ BLACKLISTED_DESCRIPTOR_UUID, |
BLACKLISTED_CHARACTERISTIC_UUID, |
BLACKLISTED_READ, |
BLACKLISTED_WRITE, |
@@ -108,6 +112,11 @@ struct WebBluetoothRemoteGATTCharacteristic { |
uint32 properties; |
}; |
+struct WebBluetoothRemoteGATTDescriptor { |
+ string instance_id; |
+ string uuid; |
+}; |
+ |
// Web Bluetooth Interface that Blink can use to perform |
// Bluetooth GATT Operations on Bluetooth Devices. |
interface WebBluetoothService { |
@@ -177,6 +186,34 @@ interface WebBluetoothService { |
// |characteristic_instance_id|. |
RemoteCharacteristicStopNotifications( |
string characteristic_instance_id) => (); |
+ |
+ // Returns the Descriptors of a GATT Characteristics with |service_instance_id|. |
+ // If |quantity| == WebBluetoothGATTQueryQuantity::SINGLE, only one |
+ // descriptor will be returned. |
+ RemoteCharacteristicGetDescriptors( |
+ string characteristics_instance_id, |
+ WebBluetoothGATTQueryQuantity quantity, |
+ bluetooth.mojom.UUID? characteristics_uuid) => ( |
+ WebBluetoothResult result, |
+ array<WebBluetoothRemoteGATTDescriptor>? descriptors); |
+ |
+ // Reads the value for descriptor with |
+ // |descriptor_instance_id|. If the value is successfully read the |
+ // callback will be run with WebBluetoothResult::SUCCESS and the |
+ // descriptor's value. If the value is not successfully read the |
+ // callback with be run with the corresponding error and nullptr for value. |
+ RemoteDescriptorReadValue( |
+ string descriptor_instance_id) => ( |
+ WebBluetoothResult result, |
+ array<uint8>? value); |
+ |
+ // Writes a value to the descriptor with |
+ // |descriptor_instance_id|. The callback is run with |
+ // WebBluetoothResult::SUCCESS if the value was successfully |
+ // written. |
+ RemoteDescriptorWriteValue( |
+ string descriptor_instance_id, |
+ array<uint8> value) => (WebBluetoothResult result); |
}; |
// Classes should implement this interface and pass an associated pointer |
@@ -185,5 +222,7 @@ interface WebBluetoothService { |
interface WebBluetoothServiceClient { |
RemoteCharacteristicValueChanged(string characteristic_instance_id, |
array<uint8> value); |
+ RemoteDescriptorValueChanged(string descriptor_instance_id, |
ortuno
2016/11/21 03:34:09
I don't think we need this. We do it for character
dougt
2016/11/22 01:47:17
Acknowledged.
|
+ array<uint8> value); |
GattServerDisconnected(WebBluetoothDeviceId device_id); |
}; |