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

Side by Side Diff: third_party/WebKit/LayoutTests/bluetooth/descriptor/writeValue/gen-io-op-garbage-collection-ran-during-success.html

Issue 2729433002: bluetooth: Better disconnected error messages for GATT operations. (Closed)
Patch Set: rebase Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 <!-- Generated by //third_party/WebKit/LayoutTests/bluetooth/generate.py --> 1 <!-- Generated by //third_party/WebKit/LayoutTests/bluetooth/generate.py -->
2 <!DOCTYPE html> 2 <!DOCTYPE html>
3 <script src="../../../resources/testharness.js"></script> 3 <script src="../../../resources/testharness.js"></script>
4 <script src="../../../resources/testharnessreport.js"></script> 4 <script src="../../../resources/testharnessreport.js"></script>
5 <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> 5 <script src="../../../resources/bluetooth/bluetooth-helpers.js"></script>
6 <script> 6 <script>
7 'use strict'; 7 'use strict';
8 promise_test( 8 promise_test(
9 () => { 9 () => {
10 let val = new Uint8Array([1]); 10 let val = new Uint8Array([1]);
11 let promise; 11 let promise;
12 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter') 12 return setBluetoothFakeAdapter('DisconnectingHealthThermometerAdapter')
13 .then( 13 .then(
14 () => requestDeviceWithKeyDown( 14 () => requestDeviceWithKeyDown(
15 {filters: [{services: ['health_thermometer']}]})) 15 {filters: [{services: ['health_thermometer']}]}))
16 .then(device => device.gatt.connect()) 16 .then(device => device.gatt.connect())
17 .then( 17 .then(
18 gattServer => gattServer.getPrimaryService('health_thermometer')) 18 gattServer => gattServer.getPrimaryService('health_thermometer'))
19 .then(service => service.getCharacteristic('measurement_interval')) 19 .then(service => service.getCharacteristic('measurement_interval'))
20 .then( 20 .then(
21 characteristic => 21 characteristic =>
22 characteristic.getDescriptor(user_description.name)) 22 characteristic.getDescriptor(user_description.name))
23 .then(descriptor => { 23 .then(descriptor => {
24 promise = assert_promise_rejects_with_message( 24 promise = assert_promise_rejects_with_message(
25 descriptor.writeValue(val), 25 descriptor.writeValue(val),
26 new DOMException( 26 new DOMException(
27 'GATT Server disconnected while performing a GATT operation. ', 27 'GATT Server is disconnected. Cannot perform GATT operations. ' +
28 '(Re)connect first with `device.gatt.connect`.',
28 'NetworkError')); 29 'NetworkError'));
29 // Disconnect called to clear attributeInstanceMap and allow the 30 // Disconnect called to clear attributeInstanceMap and allow the
30 // object to get garbage collected. 31 // object to get garbage collected.
31 descriptor.characteristic.service.device.gatt.disconnect(); 32 descriptor.characteristic.service.device.gatt.disconnect();
32 }) 33 })
33 .then(runGarbageCollection) 34 .then(runGarbageCollection)
34 .then(() => promise); 35 .then(() => promise);
35 }, 36 },
36 'Garbage collection ran during a writeValue call that succeeds. ' + 37 'Garbage collection ran during a writeValue call that succeeds. ' +
37 'Should not crash.'); 38 'Should not crash.');
38 39
39 </script> 40 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698