| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetoothgattcharacteristic |
| |
| // Implement BluetoothRemoteGATTCharacteristic interface: https://crbug.com/483344 |
| |
| [ |
| GarbageCollected, |
| DependentLifetime, |
| RuntimeEnabled=WebBluetooth, |
| // TODO(https://crbug.com/584113) Enable Web Bluetooth Experiment. |
| // OriginTrialEnabled=WebBluetooth, |
| ] interface BluetoothRemoteGATTCharacteristic : EventTarget {//: CharacteristicEventHandlers { |
| // TODO(ortuno): Add test to make sure service matches the service |
| // used to call getCharacteristic. |
| // readonly attribute BluetoothRemoteGATTService service; |
| readonly attribute UUID uuid; |
| readonly attribute BluetoothCharacteristicProperties properties; |
| readonly attribute DataView? value; |
| // Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor); |
| // Promise<sequence<BluetoothRemoteGATTDescriptor>> getDescriptors(optional BluetoothDescriptorUUID descriptor); |
| [CallWith=ScriptState] Promise<DataView> readValue(); |
| [CallWith=ScriptState] Promise<void> writeValue(BufferSource value); |
| [CallWith=ScriptState] Promise<void> startNotifications(); |
| [CallWith=ScriptState] Promise<void> stopNotifications(); |
| |
| // TODO(ortuno): Move this to CharacteristicEventHandlers. |
| // http://crbug.com/537459 |
| attribute EventHandler oncharacteristicvaluechanged; |
| }; |