diff options
Diffstat (limited to 'testing/web-platform/tests/bluetooth/requestLEScan/sandboxed_iframe.https.window.js')
-rw-r--r-- | testing/web-platform/tests/bluetooth/requestLEScan/sandboxed_iframe.https.window.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/bluetooth/requestLEScan/sandboxed_iframe.https.window.js b/testing/web-platform/tests/bluetooth/requestLEScan/sandboxed_iframe.https.window.js new file mode 100644 index 0000000000..32d1e74b77 --- /dev/null +++ b/testing/web-platform/tests/bluetooth/requestLEScan/sandboxed_iframe.https.window.js @@ -0,0 +1,27 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js + +'use strict'; + +let iframe = document.createElement('iframe'); + +bluetooth_test(async () => { + await getConnectedHealthThermometerDevice(); + await new Promise(resolve => { + iframe.src = '/bluetooth/resources/health-thermometer-iframe.html'; + iframe.sandbox.add('allow-scripts'); + iframe.allow = 'bluetooth'; + document.body.appendChild(iframe); + iframe.addEventListener('load', resolve); + }); + await new Promise(resolve => { + iframe.contentWindow.postMessage({type: 'RequestLEScan'}, '*'); + + window.addEventListener('message', (messageEvent) => { + assert_false(/^FAIL: .*/.test(messageEvent.data)); + resolve(); + }); + }); +}, 'Calls to Bluetooth APIs from a sandboxed iframe are valid.');
\ No newline at end of file |