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

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

Issue 2476173002: bluetooth: Invalidate characteristics when disconnecting (Closed)
Patch Set: Fix test expectations Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../../resources/testharness.js"></script> 2 <script src="../../resources/testharness.js"></script>
3 <script src="../../resources/testharnessreport.js"></script> 3 <script src="../../resources/testharnessreport.js"></script>
4 <script src="../../resources/bluetooth/bluetooth-helpers.js"></script> 4 <script src="../../resources/bluetooth/bluetooth-helpers.js"></script>
5 <script> 5 <script>
6 'use strict'; 6 'use strict';
7 promise_test(t => { 7 promise_test(t => {
8 return setBluetoothFakeAdapter('DisconnectingHeartRateAdapter') 8 return setBluetoothFakeAdapter('DisconnectingHeartRateAdapter')
9 .then(() => requestDeviceWithKeyDown({ 9 .then(() => requestDeviceWithKeyDown({
10 filters: [{services: ['heart_rate']}], 10 filters: [{services: ['heart_rate']}],
11 optionalServices: [request_disconnection_service_uuid] 11 optionalServices: [request_disconnection_service_uuid]
12 })) 12 }))
13 .then(device => { 13 .then(device => {
14 return device.gatt.connect() 14 return device.gatt.connect().then(gattServer => {
15 .then(gattServer => get_request_disconnection(gattServer)) 15 return get_request_disconnection(gattServer)
16 .then(requestDisconnection => { 16 .then(requestDisconnection1 => {
17 // 1. Attach a listener that tries to reconnect. 17 // 1. Attach a listener that tries to reconnect.
18 let reconnection = new Promise(resolve => { 18 let waitUntilReconnection = new Promise(resolve => {
19 let wrapper = function(event) { 19 let reconnectThenResolver = function(event) {
20 device.removeEventListener('gattserverdisconnected', wrapper); 20 device.removeEventListener(
21 device.gatt.connect().then(resolve); 21 'gattserverdisconnected', reconnectThenResolver);
22 }; 22 device.gatt.connect().then(resolve);
23 device.addEventListener('gattserverdisconnected', wrapper); 23 };
24 device.addEventListener(
25 'gattserverdisconnected', reconnectThenResolver);
26 });
27 // 2. Disconnect.
28 requestDisconnection1();
29 return waitUntilReconnection
30 .then(() => get_request_disconnection(gattServer))
31 .then(requestDisconnection2 => {
32 // Resolves after disconnected event.
33 let disconnected = eventPromise(
34 device, 'gattserverdisconnected');
35 // 3. Disconnect after reconnecting.
36 requestDisconnection2();
37 return disconnected;
38 });
24 }); 39 });
25 // 2. Disconnect. 40 });
26 requestDisconnection();
27 return reconnection.then(() => {
28 // Resolves after disconnected event.
29 let disconnected = eventPromise(device, 'gattserverdisconnected');
30 // 3. Disconnect after reconnecting.
31 requestDisconnection();
32 return disconnected;
33 });
34 });
35 }); 41 });
36 }, 'A device that reconnects during the gattserverdisconnected event ' + 42 }, 'A device that reconnects during the gattserverdisconnected event ' +
37 'should still receive gattserverdisconnected events after re-connection.'); 43 'should still receive gattserverdisconnected events after re-connection.');
38 </script> 44 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698