Implement WebBluetooth descriptor.writeValue()
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be62e9d349e2570467d4d86326d9b8f31bedc0fc commit be62e9d349e2570467d4d86326d9b8f31bedc0fc Author: dougt <dougt@chromium.org> Date: Wed Feb 01 16:13:55 2017 Implement WebBluetooth descriptor.writeValue() A GATT Descriptor provides further information about a characteristic's value. Writing values to a GATT Descriptor can be used to control certain behaviors of the given device. For each characteristic there may be many descriptors as defined by https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattdescriptor. In Bug 660699 , we added support for accessing descriptors from characteristics. In Bug 668837 , we added support for reads descriptors. In this CL, we add support for writing the value of the descriptor. BUG= 668838 R=scheib Review-Url: https://codereview.chromium.org/2654403002 Cr-Commit-Position: refs/heads/master@{#447525} [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/browser/bluetooth/bluetooth_metrics.cc [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/browser/bluetooth/bluetooth_metrics.h [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/browser/bluetooth/web_bluetooth_service_impl.cc [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/browser/bluetooth/web_bluetooth_service_impl.h [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [rename] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/descriptor-is-blocklisted.html [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/gen-descriptor-is-removed.html [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/gen-io-op-fails.html [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/gen-io-op-garbage-collection-ran-during-success.html [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/gen-io-op-reconnect-during-error.html [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/readValue/gen-service-is-removed.html [copy] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/descriptor-is-blocklisted.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-descriptor-is-removed.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-device-disconnects-before.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-device-disconnects-during-error.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-device-disconnects-during-success.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-device-reconnects-during-error.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-device-reconnects-during-success.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-disconnect-called-before.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-disconnect-called-during-error.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-disconnect-called-during-success.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-fails.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-garbage-collection-ran-during-error.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-garbage-collection-ran-during-success.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-reconnect-during-error.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-reconnect-during-success.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-service-is-removed.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/value-too-long.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/write-succeeds.html [add] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/write-updates-value.html [delete] https://crrev.com/f2b188baeb2938427bf58b6ff6b61840f325055b/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/descriptor-is-blocklisted.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/descriptor-is-removed.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-device-disconnects-before.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-device-disconnects-during-error.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-device-disconnects-during-success.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-device-reconnects-during-error.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-device-reconnects-during-success.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-disconnect-called-before.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-disconnect-called-during-error.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-disconnect-called-during-success.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-fails.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-garbage-collection-ran-during-error.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-garbage-collection-ran-during-success.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-reconnect-during-error.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/io-op-reconnect-during-success.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/LayoutTests/bluetooth/script-tests/descriptor/service-is-removed.js [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTDescriptor.cpp [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTDescriptor.h [modify] https://crrev.com/be62e9d349e2570467d4d86326d9b8f31bedc0fc/third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom
Comment 1 by rbyers@chromium.org
, Nov 28 2016