payment-disabled-by-permissions-policy.https.sub.html (1673B)
1 <!DOCTYPE html> 2 <body> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="/permissions-policy/resources/permissions-policy.js"></script> 6 <script> 7 "use strict"; 8 const same_origin_src = 9 "/permissions-policy/resources/permissions-policy-payment.html"; 10 const cross_origin_src = 11 "https://{{hosts[alt][]}}:{{ports[https][0]}}" + same_origin_src; 12 const header = 'permissions policy header "payment=()"'; 13 14 test(() => { 15 const supportedInstruments = [{ supportedMethods: "visa" }]; 16 const details = { 17 total: { 18 label: "Test", 19 amount: { currency: "USD", value: "5.00" }, 20 }, 21 }; 22 assert_throws_dom("SecurityError", () => { 23 new PaymentRequest(supportedInstruments, details); 24 }); 25 }, `${header} disallows Payment Request API in top-level document.`); 26 27 promise_test((test) => { 28 return test_feature_availability({ 29 feature_description: "PaymentRequest()", 30 test, 31 src: same_origin_src, 32 expect_feature_available: expect_feature_unavailable_default, 33 is_promise_test: true, 34 }); 35 }, `${header} disallows Payment Request API in same-origin iframes.`); 36 37 promise_test((test) => { 38 return test_feature_availability({ 39 feature_description: "PaymentRequest()", 40 test, 41 src: cross_origin_src, 42 expect_feature_available: expect_feature_unavailable_default, 43 feature_name: "payment", 44 is_promise_test: true, 45 }); 46 }, `${header} disallows Payment Request API in cross-origin iframes.`); 47 </script> 48 </body>