<!DOCTYPE html>
<body>
  <script src=/resources/testharness.js></script>
  <script src=/resources/testharnessreport.js></script>
  <script src=/resources/testdriver.js></script>
  <script src=/resources/testdriver-vendor.js></script>
  <script src=/common/media.js></script>
  <script src=/feature-policy/resources/featurepolicy.js></script>
  <script src=/feature-policy/resources/autoplay.js></script>
  <script>
  'use strict';
  const relative_path = '/feature-policy/resources/feature-policy-autoplay.html';
  const base_src = '/feature-policy/resources/redirect-on-load.html#';
  const same_origin_src = base_src + relative_path;
  const cross_origin_src = base_src + 'https://{{domains[www]}}:{{ports[https][0]}}' +
    relative_path;
  const header = 'Feature-Policy allow="autoplay"';

  async_test(t => {
    simulateGesture(t, () => {
      test_feature_availability(
          'autoplay', t, same_origin_src,
          expect_feature_available_default, 'autoplay');
    });
  }, header + ' allows same-origin navigation in an iframe.');

  async_test(t => {
    simulateGesture(t, () => {
      test_feature_availability(
          'autoplay', t, cross_origin_src,
          expect_feature_unavailable_default, 'autoplay');
    });
  }, header + ' disallows cross-origin navigation in an iframe.');
  </script>
</body>
