<!DOCTYPE html>
<title>Test default permission policy features with allow="" attribute</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/utils.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="resources/utils.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="resources/default-enabled-features-helper.js"></script>

<body>
<script>
promise_test(async(t) => {
  await runDefaultEnabledFeaturesTest(t, /*should_load=*/false,
      get_host_info().ORIGIN, generator_api="fledge",
      allow="private-aggregation 'none'");
  await runDefaultEnabledFeaturesTest(t, /*should_load=*/false,
      get_host_info().ORIGIN, generator_api="sharedstorage",
      allow="shared-storage 'none'");
}, 'Same-origin fenced frame with allow attribute disabling required feature');

promise_test(async(t) => {
  await runDefaultEnabledFeaturesTest(t, /*should_load=*/false,
      get_host_info().REMOTE_ORIGIN, generator_api="fledge",
      allow="private-aggregation 'none'");
  await runDefaultEnabledFeaturesTest(t, /*should_load=*/false,
      get_host_info().REMOTE_ORIGIN, generator_api="sharedstorage",
      allow="shared-storage 'none'");
}, 'Cross-origin fenced frame with allow attribute disabling required feature');

</script>
</body>
</html>
