| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>Battery Test: navigator.getBattery() is not allowed in non top-level browsing context</title> | |
| <link rel="author" title="Intel" href="http://www.intel.com"> | |
| <link rel="help" href="https://www.w3.org/TR/battery-status/"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div id="log"></div> | |
| <iframe id="blank" src="about:blank" style="display: none"></iframe> | |
| <script> | |
| function load_iframe(iframe, src) { | |
| return new Promise((resolve, reject) => { | |
| iframe.onload = () => resolve(iframe); | |
| iframe.src = src; | |
| }); | |
| } | |
| promise_test(t => { | |
| var iframe = document.getElementById('blank'); | |
| var src = 'support-iframe.html'; | |
| return load_iframe(iframe, src) | |
| .then(iframe => promise_rejects(t, 'SecurityError', | |
| iframe.contentWindow.navigator.getBattery())); | |
| }, "throw a 'SecurityError' when invoking navigator.getBattery() within iframe"); | |
| </script> |