| OLD | NEW | 
|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> | 
| 2 <script src="../../resources/testharness.js"></script> | 2 <script src="../../resources/testharness.js"></script> | 
| 3 <script src="../../resources/testharnessreport.js"></script> | 3 <script src="../../resources/testharnessreport.js"></script> | 
| 4 <script src="../resources/bluetooth-helpers.js"></script> | 4 <script src="../resources/bluetooth-helpers.js"></script> | 
| 5 <body> | 5 <body> | 
| 6   <script> | 6   <script> | 
| 7   "use strict"; | 7   "use strict"; | 
| 8   async_test(test => { | 8   async_test(test => { | 
| 9     window.onmessage = messageEvent => test.step(() => { | 9     window.onmessage = messageEvent => test.step(() => { | 
| 10       if (messageEvent.data === 'Ready') { | 10       if (messageEvent.data === 'Ready') { | 
| 11         let iframe = document.querySelector('iframe'); | 11         let iframe = document.querySelector('iframe'); | 
| 12         callWithKeyDown(() => { | 12         callWithKeyDown(() => { | 
| 13           iframe.contentWindow.postMessage('Go', '*'); | 13           iframe.contentWindow.postMessage('Go', '*'); | 
| 14         }); | 14         }); | 
| 15       } else if (messageEvent.data === 'Connected') { | 15       } else if (messageEvent.data === 'Connected') { | 
|  | 16         let iframe = document.querySelector('iframe'); | 
| 16         // GC | 17         // GC | 
| 17         runGarbageCollection().then(() => { | 18         runGarbageCollection().then(() => { | 
| 18           // Detach | 19           // Detach | 
| 19           iframe.remove(); | 20           iframe.remove(); | 
| 20           test.done(); | 21           test.done(); | 
| 21         }); | 22         }); | 
| 22       } else { | 23       } else { | 
| 23         assert_unreached('iframe sent invalid data: ' + messageEvent.data); | 24         assert_unreached('iframe sent invalid data: ' + messageEvent.data); | 
| 24       } | 25       } | 
| 25     }); | 26     }); | 
| 26     testRunner.setBluetoothMockDataSet('HeartRateAdapter'); | 27     setBluetoothFakeAdapter('HeartRateAdapter') | 
| 27     let iframe = document.createElement('iframe'); | 28       .then(() => { | 
| 28     iframe.src = '../resources/connect-iframe.html'; | 29         let iframe = document.createElement('iframe'); | 
| 29     document.body.appendChild(iframe); | 30         iframe.src = '../resources/connect-iframe.html'; | 
|  | 31         document.body.appendChild(iframe); | 
|  | 32       }); | 
| 30   }, 'Garbage collect then detach frame. We shouldn\'t crash.'); | 33   }, 'Garbage collect then detach frame. We shouldn\'t crash.'); | 
| 31   </script> | 34   </script> | 
| 32 </body> | 35 </body> | 
| OLD | NEW | 
|---|