| Index: third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
|
| diff --git a/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html b/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
|
| index 4001ad48d9766c5cb650deb0bc8b327ed44e0b5f..74d0c14ef089d8e1fbdbeaa5e6abd3a440cd4d30 100644
|
| --- a/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
|
| +++ b/third_party/WebKit/LayoutTests/bluetooth/gattserverdisconnected-event/reconnect-during-disconnected-event.html
|
| @@ -11,27 +11,33 @@ promise_test(t => {
|
| optionalServices: [request_disconnection_service_uuid]
|
| }))
|
| .then(device => {
|
| - return device.gatt.connect()
|
| - .then(gattServer => get_request_disconnection(gattServer))
|
| - .then(requestDisconnection => {
|
| - // 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);
|
| + return device.gatt.connect().then(gattServer => {
|
| + return get_request_disconnection(gattServer)
|
| + .then(requestDisconnection1 => {
|
| + // 1. Attach a listener that tries to reconnect.
|
| + let waitUntilReconnection = new Promise(resolve => {
|
| + let reconnectThenResolver = function(event) {
|
| + device.removeEventListener(
|
| + 'gattserverdisconnected', reconnectThenResolver);
|
| + device.gatt.connect().then(resolve);
|
| + };
|
| + device.addEventListener(
|
| + 'gattserverdisconnected', reconnectThenResolver);
|
| + });
|
| + // 2. Disconnect.
|
| + requestDisconnection1();
|
| + return waitUntilReconnection
|
| + .then(() => get_request_disconnection(gattServer))
|
| + .then(requestDisconnection2 => {
|
| + // Resolves after disconnected event.
|
| + let disconnected = eventPromise(
|
| + device, 'gattserverdisconnected');
|
| + // 3. Disconnect after reconnecting.
|
| + requestDisconnection2();
|
| + return disconnected;
|
| + });
|
| });
|
| - // 2. Disconnect.
|
| - requestDisconnection();
|
| - return reconnection.then(() => {
|
| - // Resolves after disconnected event.
|
| - let disconnected = eventPromise(device, 'gattserverdisconnected');
|
| - // 3. Disconnect after reconnecting.
|
| - requestDisconnection();
|
| - return disconnected;
|
| - });
|
| - });
|
| + });
|
| });
|
| }, 'A device that reconnects during the gattserverdisconnected event ' +
|
| 'should still receive gattserverdisconnected events after re-connection.');
|
|
|