tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>