<!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=/feature-policy/resources/featurepolicy.js></script>
  <script src=/feature-policy/resources/picture-in-picture.js></script>
  <script>
  'use strict';
  const same_origin_src = '/feature-policy/resources/feature-policy-picture-in-picture.html';
  const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' +
    same_origin_src;
  const feature_name = 'Feature policy "picture-in-picture"';
  const header = 'allow="picture-in-picture" attribute';

  async_test(t => {
    test_feature_availability(
        'picture-in-picture', t, same_origin_src,
        expect_feature_available_default, 'picture-in-picture');
  }, feature_name + ' can be enabled in same-origin iframe using ' + header);

  async_test(t => {
    test_feature_availability(
        'picture-in-picture', t, cross_origin_src,
        expect_feature_available_default, 'picture-in-picture');
  }, feature_name + ' can be enabled in cross-origin iframe using ' + header);
  </script>
</body>
