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>
9 <iframe id=
"blank" src=
"about:blank" style=
"display: none"></iframe>
12 function load_iframe(iframe
, src
) {
13 return new Promise((resolve
, reject
) => {
14 iframe
.onload
= () => resolve(iframe
);
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");