Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-stop.html |
| diff --git a/third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html b/third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-stop.html |
| similarity index 51% |
| copy from third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html |
| copy to third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-stop.html |
| index 1d5add9481b730d551aac048f1dc532cf6113511..eb566b827ee8aec36cf1c2c676588e26ff411320 100644 |
| --- a/third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html |
| +++ b/third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-stop.html |
| @@ -5,6 +5,7 @@ |
| <script> |
| 'use strict'; |
| promise_test(() => { |
| + let stop_promise; |
| return setBluetoothFakeAdapter('HeartRateAdapter') |
| .then(() => requestDeviceWithKeyDown({ |
| filters: [{services: ['heart_rate']}]})) |
| @@ -12,12 +13,16 @@ promise_test(() => { |
| .then(gattServer => gattServer.getPrimaryService('heart_rate')) |
| .then(service => service.getCharacteristic('heart_rate_measurement')) |
| .then(characteristic => { |
| - return setBluetoothFakeAdapter('EmptyAdapter') |
| - .then(() => assert_promise_rejects_with_message( |
| - characteristic.startNotifications(), |
| - new DOMException( |
| - 'Bluetooth Device is no longer in range.', 'NetworkError'), |
| - 'Device went out of range.')); |
| - }); |
| -}, 'Device goes out of range. Reject with NetworkError.'); |
| + return characteristic.startNotifications().then(() => { |
| + stop_promise = characteristic.stopNotifications(); |
| + // We itentionally don't return the promise so that 'characteristic' goes |
|
Jeffrey Yasskin
2016/04/15 19:56:46
sp: itentionally
ortuno
2016/04/15 20:59:06
Done.
|
| + // out of scope while the request is still pending. |
| + }); |
| + }) |
| + .then(() => runGarbageCollection()) |
| + .then(() => stop_promise); |
| + // Assert that notifications are not active. |
| + // http://crbug.com/600762 |
| +}, 'Object gets garbage collected while stop request is pending. Make sure ' + |
| + 'we don\'t crash while the request is pending.'); |
| </script> |