This is handled by the [[activeAlgorithms]] slot in the spec: https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattserver-activealgorithms-slot.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792 commit ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792 Author: ortuno <ortuno@chromium.org> Date: Fri Jul 29 19:35:30 2016 bluetooth: Reject getPrimaryService(s) if frame is not connected First of three patches to reject promises if the frame is not connected or the frame disconnected while the promise was not fulfilled. Implements: 1. The ActiveAlgorithm set[1] as m_activeAlgorithms in BluetoothRemoteGATTServer 2. gattServer-connection-checking wrapper[2] as GetPrimaryServicesCallback in BluetoothRemoteGattServer.cpp 3. Connection check of query bluetooth cache[3] in getPrimaryServicesImpl. [1] https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattserver-activealgorithms-slot [2] https://webbluetoothcg.github.io/web-bluetooth/#connection-checking-wrapper [3] https://webbluetoothcg.github.io/web-bluetooth/#query-the-bluetooth-cache BUG= 608538 Review-Url: https://codereview.chromium.org/2183903002 Cr-Commit-Position: refs/heads/master@{#408729} [modify] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-before.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-reconnects-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/disconnect-called-before.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/disconnect-called-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/disconnected-device.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/reconnect-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-before-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-before.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-reconnects-during-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-reconnects-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-before-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-before.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-during-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-during.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnected-device-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnected-device.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/reconnect-during-with-uuid.html [add] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/reconnect-during.html [modify] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/Source/modules/bluetooth/BluetoothDevice.cpp [modify] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.cpp [modify] https://crrev.com/ababc28cc3a0b4cc1f842548d1c5c31fdd4d2792/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3aecaf01516c28df06c0b29881678a4548cbdfcf commit 3aecaf01516c28df06c0b29881678a4548cbdfcf Author: ortuno <ortuno@chromium.org> Date: Mon Oct 10 03:03:25 2016 bluetooth: Require context is connected for getCharacteristic(s) Promises reject if the frame is not connected or if the frame disconnected during the getCharacteristic(s) operation. BUG= 608538 Review-Url: https://codereview.chromium.org/2387293008 Cr-Commit-Position: refs/heads/master@{#424113} [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/device-disconnects-before.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/device-disconnects-during.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/disconnect-called-before.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/disconnect-called-during.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/reconnect-during.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-before-with-uuid.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-before.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-during-with-uuid.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-during.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/disconnect-called-before-with-uuid.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/disconnect-called-before.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/disconnect-called-during-with-uuid.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/disconnect-called-during.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/reconnect-during-with-uuid.html [add] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/reconnect-during.html [modify] https://crrev.com/3aecaf01516c28df06c0b29881678a4548cbdfcf/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTService.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/890c0e885e07c0a1843df8f9f38b10eb56a83867 commit 890c0e885e07c0a1843df8f9f38b10eb56a83867 Author: ortuno <ortuno@chromium.org> Date: Tue Oct 11 03:20:41 2016 bluetooth: Reject with NetworkError when disconnected during getPrimaryService(s) https://webbluetoothcg.github.io/web-bluetooth/#connection-checking-wrapper says to replace the real error with a NetworkError if we've disconnected during the operation. We get there through the https://webbluetoothcg.github.io/web-bluetooth/#query-the-bluetooth-cache step of https://webbluetoothcg.github.io/web-bluetooth/#getgattchildren. BUG= 608538 Review-Url: https://codereview.chromium.org/2400943002 Cr-Commit-Position: refs/heads/master@{#424360} [add] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-during-error.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-reconnects-during-error.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-reconnects-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/disconnect-called-during-error.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/disconnect-called-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/reconnect-during-error.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/reconnect-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-error-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-success-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-reconnects-during-error-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-reconnects-during-success-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-reconnects-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-during-error-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-during-success-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/disconnect-called-during-success.html [copy] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/reconnect-during-error-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/reconnect-during-success-with-uuid.html [rename] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/reconnect-during-success.html [modify] https://crrev.com/890c0e885e07c0a1843df8f9f38b10eb56a83867/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTServer.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d1db684a6570d46b61fa141bc37ac95f3a6876a commit 0d1db684a6570d46b61fa141bc37ac95f3a6876a Author: ortuno <ortuno@chromium.org> Date: Mon Oct 24 01:50:25 2016 bluetooth: Require frame to be connected for characteristic.readValue to succeed Rejects characteristic.readValue if the frame is not connected or if the frame disconnects during the operation. The new adapter has a Health Thermometer service with a measurement interval characteristic. We use this characteristic because it the only standard characteristic that supports Read, Write and Notify. Reconnection tests in follow up patch: http://crrev.com/2438963002 BUG= 608538 Review-Url: https://codereview.chromium.org/2443473003 Cr-Commit-Position: refs/heads/master@{#427007} [modify] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-before.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-during-error.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-during-success.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-disconnect-called-before.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-disconnect-called-during-error.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-disconnect-called-during-success.html [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-before.js [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-error.js [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-success.js [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-before.js [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-error.js [add] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-success.js [modify] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.cpp [modify] https://crrev.com/0d1db684a6570d46b61fa141bc37ac95f3a6876a/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd commit d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd Author: ortuno <ortuno@chromium.org> Date: Mon Oct 24 02:02:41 2016 bluetooth: Add tests for when frame reconnects during readValue Follow up patch that adds a new fake adapter that finishes a gatt operation after a connect is called and adds tests that uses it. Previous patch: http://crrev.com/2443473003 BUG= 608538 Review-Url: https://codereview.chromium.org/2438963002 Cr-Commit-Position: refs/heads/master@{#427009} [modify] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [modify] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/device/bluetooth/test/mock_bluetooth_device.cc [modify] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/device/bluetooth/test/mock_bluetooth_device.h [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-reconnects-during-error.html [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-reconnects-during-success.html [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-reconnect-during-error.html [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-reconnect-during-success.html [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-error.js [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-success.js [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-error.js [add] https://crrev.com/d0873b1b6847cbec6aeb730ad8a2ee7f15c7d3bd/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-success.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f97d6a29e488d8a57764e1a45c054ef3dc2d421e commit f97d6a29e488d8a57764e1a45c054ef3dc2d421e Author: ortuno <ortuno@chromium.org> Date: Wed Oct 26 05:03:28 2016 bluetooth: Introduce helper function for requesting a disconnection Introduces a new helper function that will contain "requestDisconnection.writeValue(...)" wrapped inside a assert_promise_rejects_with_message. We need to wrap the disconnection request because writeValue will soon require a frame to be connected for operations to succeed. BUG= 608538 Review-Url: https://codereview.chromium.org/2441313002 Cr-Commit-Position: refs/heads/master@{#427594} [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/connect/connect-disconnected-connect.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/disconnected.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/disconnected_gc.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/one-event-per-disconnection.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/device-disconnects-before.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristic/device-disconnects-during.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-before-with-uuid.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-before.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-during-with-uuid.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getCharacteristics/device-disconnects-during.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-during-error.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/device-disconnects-during-success.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryService/gen-service-device-disconnects-before.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-error-with-uuid.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-success-with-uuid.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/device-disconnects-during-success.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/gen-service-device-disconnects-before-with-uuid.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/getPrimaryServices/gen-service-device-disconnects-before.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-before.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-during-error.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-disconnects-during-success.html [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-before.js [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-error.js [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-success.js [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/bluetooth/script-tests/service-device-disconnects-before.js [modify] https://crrev.com/f97d6a29e488d8a57764e1a45c054ef3dc2d421e/third_party/WebKit/LayoutTests/resources/bluetooth/bluetooth-helpers.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42 commit d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42 Author: ortuno <ortuno@chromium.org> Date: Mon Oct 31 00:41:25 2016 bluetooth: Require frame to be connected for writValue to succeed. If frame is not connected or disconnects during a writeValue request we reject the writeValue promise with NetworkError. BUG= 608538 Review-Url: https://codereview.chromium.org/2445633002 Cr-Commit-Position: refs/heads/master@{#428637} [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-reconnects-during-error.html [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-device-reconnects-during-success.html [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-reconnect-during-error.html [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/readValue/gen-gatt-op-reconnect-during-success.html [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-before.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-error.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-success.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-error.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-success.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-before.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-error.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-success.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-error.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-success.js [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-device-disconnects-before.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-device-disconnects-during-error.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-device-disconnects-during-success.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-device-reconnects-during-error.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-device-reconnects-during-success.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-disconnect-called-before.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-disconnect-called-during-error.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-disconnect-called-during-success.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-reconnect-during-error.html [add] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/bluetooth/writeValue/gen-gatt-op-reconnect-during-success.html [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/LayoutTests/resources/bluetooth/bluetooth-helpers.js [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.cpp [modify] https://crrev.com/d7ea1be86b592dbbfa1fe83bfcc5709a1b526b42/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/875f017e58543a5fa0f03e56478d86072bf26bc2 commit 875f017e58543a5fa0f03e56478d86072bf26bc2 Author: ortuno <ortuno@chromium.org> Date: Mon Oct 31 03:45:53 2016 bluetooth: Require frame to be connected for startNotifications to succeed. If a frame is not connected or disconnects during a startNotifications request we reject the startNotifications promise with NetworkError. BUG= 608538 Review-Url: https://codereview.chromium.org/2447593002 Cr-Commit-Position: refs/heads/master@{#428651} [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-before.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-error.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-success.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-error.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-reconnects-during-success.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-before.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-error.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-success.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-error.js [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-reconnect-during-success.js [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-device-disconnects-before.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-device-disconnects-during-error.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-device-disconnects-during-success.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-device-reconnects-during-error.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-device-reconnects-during-success.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-disconnect-called-before.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-disconnect-called-during-error.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-disconnect-called-during-success.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-reconnect-during-error.html [add] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/LayoutTests/bluetooth/startNotifications/gen-gatt-op-reconnect-during-success.html [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.cpp [modify] https://crrev.com/875f017e58543a5fa0f03e56478d86072bf26bc2/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a703abc1287ff478b1bfe15bf68af7b48331740 commit 7a703abc1287ff478b1bfe15bf68af7b48331740 Author: ortuno <ortuno@chromium.org> Date: Mon Oct 31 05:05:52 2016 bluetooth: Require frame to be connected for stopNotifications to succeed. If a frame is not connected or disconnects during a stopNotifications request we reject the promise with NetworkError. Also adds a new adapter for delayed StopNotifySession callbacks. BUG= 608538 Review-Url: https://codereview.chromium.org/2443063002 Cr-Commit-Position: refs/heads/master@{#428655} [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-before.js [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-device-disconnects-during-success.js [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-before.js [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/script-tests/gatt-op-disconnect-called-during-success.js [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/device-reconnects-during-success.html [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/gen-gatt-op-device-disconnects-before.html [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/gen-gatt-op-device-disconnects-during-success.html [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/gen-gatt-op-disconnect-called-before.html [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/gen-gatt-op-disconnect-called-during-success.html [add] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/LayoutTests/bluetooth/stopNotifications/reconnect-during-success.html [modify] https://crrev.com/7a703abc1287ff478b1bfe15bf68af7b48331740/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.cpp
Comment 1 by scheib@chromium.org
, May 11 2016