Bug 1611320 [wpt PR 21400] - Gate Longtasks and PaintTiming tests under assert_precon...
[gecko.git] / testing / web-platform / tests / battery-status / battery-disallowed-in-cross-origin-iframe.https.sub.html
blob8b48626b5511414e2e8d8ffa93f63779cd37b3cb
1 <!DOCTYPE html>
2 <meta charset="utf-8">
3 <title>Battery Test: navigator.getBattery() is not allowed in cross origin iframe</title>
4 <link rel="author" title="Intel" href="http://www.intel.com">
5 <link rel="help" href="https://www.w3.org/TR/battery-status/">
6 <script src="/resources/testharness.js"></script>
7 <script src="/resources/testharnessreport.js"></script>
8 <div id="log"></div>
9 <iframe id="blank" src="about:blank" style="display: none"></iframe>
10 <script>
12 function load_iframe(iframe, src) {
13 return new Promise((resolve, reject) => {
14 iframe.onload = () => resolve(iframe);
15 iframe.src = src;
16 });
19 promise_test(async t => {
20 let iframe = document.getElementById('blank');
21 const path = location.pathname.substring(0, location.pathname.lastIndexOf('/') + 1);
22 const src = 'https://{{domains[www1]}}:{{ports[https][0]}}' + path + 'support-iframe.html';
23 iframe = await load_iframe(iframe, src);
24 await promise_rejects(t, 'NotAllowedError', iframe.contentWindow.navigator.getBattery());
25 }, "throw a 'NotAllowedError' when invoking navigator.getBattery() within cross-origin iframe");
27 </script>