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 56% |
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..18290c50bfcfcdfaf77a4a0115675f99b7f4df2c 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,14 @@ 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 itentionally don't return the promise so that 'characteristic' goes |
Jeffrey Yasskin
2016/04/15 19:56:45
sp: itentionally
ortuno
2016/04/15 20:59:06
Done.
|
+ // out of scope while the request is still pending. |
+ }) |
+ .then(() => runGarbageCollection()) |
+ .then(() => start_promise); |
+ // Assert that notifications are not active. |
Jeffrey Yasskin
2016/04/15 19:56:45
This may also depend on https://crbug.com/495270.
ortuno
2016/04/15 20:59:06
I guess we won't need the test once objects are no
|
+ // http://crbug.com/600762 |
+}, 'Object gets garbage collected while start request is pending. Make ' + |
+ 'sure we don\' crash.'); |
</script> |