<!DOCTYPE html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/feature-policy/resources/featurepolicy.js></script>
<script>
'use strict';

const same_origin_src = '/feature-policy/resources/feature-policy-battery.html';
const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' +
  same_origin_src;
const header = 'Default "battery" feature policy ["self"]';

promise_test(
    async () => await navigator.getBattery(),
    `${header} allows the top-level document.`);

async_test(t => {
  test_feature_availability('navigator.getBattery()', t, same_origin_src,
      expect_feature_available_default);
}, `${header} allows same-origin iframes.`);

async_test(t => {
  test_feature_availability('navigator.getBattery()', t, cross_origin_src,
      expect_feature_unavailable_default);
}, `${header} disallows cross-origin iframes.`);
</script>
</body>
