blob: edfb8690c77375cbe77828248aa934a08bf8dc54 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/bluetooth/bluetooth-helpers.js"></script>
<body>
<script>
"use strict";
async_test(test => {
window.onmessage = messageEvent => test.step(() => {
if (messageEvent.data === 'Ready') {
let iframe = document.querySelector('iframe');
callWithKeyDown(() => {
iframe.contentWindow.postMessage('RequestAndConnect', '*');
});
} else if (messageEvent.data === 'Connected') {
let iframe = document.querySelector('iframe');
// GC
runGarbageCollection().then(() => {
// Detach
iframe.remove();
test.done();
});
} else {
assert_unreached('iframe sent invalid data: ' + messageEvent.data);
}
});
setBluetoothFakeAdapter('HeartRateAdapter')
.then(() => {
let iframe = document.createElement('iframe');
iframe.src = '../../../resources/bluetooth/heart-rate-iframe.html';
document.body.appendChild(iframe);
});
}, 'Garbage collect then detach frame. We shouldn\'t crash.');
</script>
</body>