| // META: script=resources/utils.js |
| |
| 'use strict'; |
| |
| // https://wicg.github.io/get-installed-related-app/spec |
| |
| promise_test(async t => { |
| |
| assert_true('getInstalledRelatedApps' in navigator); |
| assert_array_equals(await navigator.getInstalledRelatedApps(), []); |
| |
| }, 'Check calling getInstalledRelatedApps works as expected'); |
| |
| promise_test(async t => { |
| |
| const iframeWindow = await new Promise(resolve => { |
| const iframe = document.createElement('iframe'); |
| iframe.src = 'resources/iframe.html'; |
| iframe.onload = () => resolve(iframe.contentWindow); |
| document.body.appendChild(iframe); |
| }); |
| |
| try { |
| await iframeWindow.navigator.getInstalledRelatedApps(); |
| assert_unreached('expected a DOMException, but none was thrown'); |
| } catch (e) { |
| assert_equals(e.name, 'InvalidStateError'); |
| } |
| |
| }, 'Calling getInstalledrelatedApps from an iframe fails'); |