| Index: third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-start.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-start.html
|
| similarity index 50%
|
| 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-start.html
|
| index 1d5add9481b730d551aac048f1dc532cf6113511..d3db2f8e3aa22f707289e005c8d8d398c1a18b4f 100644
|
| --- a/third_party/WebKit/LayoutTests/bluetooth/notifications/device-goes-out-of-range.html
|
| +++ b/third_party/WebKit/LayoutTests/bluetooth/notifications/gc-with-pending-start.html
|
| @@ -5,6 +5,7 @@
|
| <script>
|
| 'use strict';
|
| promise_test(() => {
|
| + let start_promise;
|
| return setBluetoothFakeAdapter('HeartRateAdapter')
|
| .then(() => requestDeviceWithKeyDown({
|
| filters: [{services: ['heart_rate']}]}))
|
| @@ -12,12 +13,17 @@ 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.');
|
| + start_promise = characteristic.startNotifications();
|
| + // We intentionally don't return the promise so that 'characteristic' goes
|
| + // out of scope while the request is still pending.
|
| + })
|
| + .then(() => runGarbageCollection())
|
| + .then(() => start_promise);
|
| + // TODO(ortuno): Assert that notifications are not active.
|
| + // http://crbug.com/600762
|
| + // Objects will no longer get garbage collected once we implement the
|
| + // bluetooth tree.
|
| + // https://crbug.com/495270
|
| +}, 'Object gets garbage collected while start request is pending. Make ' +
|
| + 'sure we don\' crash.');
|
| </script>
|
|
|