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

Unified Diff: third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html

Issue 2072423002: bluetooth: Remove device before dispatching event (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@my-origin
Patch Set: Created 4 years, 6 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: third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
diff --git a/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/one-event-per-disconnection.html b/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
similarity index 54%
copy from third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/one-event-per-disconnection.html
copy to third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
index ecf15177bc44ac13a1fc72f6f7f55609ced4c081..aa3fd5831c2300120d0e18c618a0693fc058b303 100644
--- a/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/one-event-per-disconnection.html
+++ b/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
@@ -15,20 +15,24 @@
.then(gattServer => gattServer.getPrimaryService(request_disconnection_service_uuid))
.then(service => service.getCharacteristic(request_disconnection_characteristic_uuid))
.then(requestDisconnection => {
- let numEvents = 0;
- let eventCounter = () => { numEvents++; };
- device.addEventListener('gattserverdisconnected', eventCounter);
+ // 1. Attach a listener that tries to reconnect.
+ let reconnection = new Promise(resolve => {
+ let wrapper = function(event) {
+ device.removeEventListener('gattserverdisconnected', wrapper);
+ device.gatt.connect().then(resolve);
+ };
+ device.addEventListener('gattserverdisconnected', wrapper);
+ });
+ // 2. Disconnect.
requestDisconnection.writeValue(new Uint8Array([0]));
- device.gatt.disconnect();
- device.gatt.disconnect();
- return new Promise(resolve => {
- setTimeout(() => {
- device.removeEventListener('gattserverdisconnected', eventCounter);
- resolve(numEvents);
- }, 100);
+ return reconnection.then(() => {
+ // Resolves after disconnected event.
+ let disconnected = eventPromise(device, 'gattserverdisconnected');
+ // 3. Disconnect after reconnecting.
+ requestDisconnection.writeValue(new Uint8Array([0]));
+ return disconnected;
});
- }).then(numEvents => assert_equals(numEvents, 1));
+ });
});
- }, 'If a site disconnects from a device while the platform is disconnecting ' +
- 'that device, only one gattserverdisconnected event should fire.');
+ }, 'A device disconnecting while connected should fire the gattserverdisconnected event.');
Jeffrey Yasskin 2016/06/18 05:03:56 This isn't the right title for this test.
ortuno 2016/06/18 20:01:20 Done.
</script>

Powered by Google App Engine
This is Rietveld 408576698