| <!DOCTYPE html> |
| <title>Payment request delegation test: subframe</title> |
| |
| <script> |
| function reportResult(msg) { |
| window.top.postMessage({"type": "result", "result": msg}, "*"); |
| } |
| |
| async function requestPayment(e) { |
| const supportedMethods = [{ |
| supportedMethods: "https://{{hosts[][nonexistent]}}/payment-request" |
| }]; |
| const details = { |
| total: { label: "Test", amount: { currency: "CAD", value: "1.00" } } |
| }; |
| const request = new PaymentRequest(supportedMethods, details); |
| |
| request.show().catch(e => { |
| if (e.name == "SecurityError") { |
| reportResult("failure"); |
| } else if (e.name == "NotSupportedError") { |
| // Because we used a non-existent url in supportedMethod aboves, this error message |
| // means all checks required for this test (i.e. user activation check and payment |
| // delegation check) have passed successfully. |
| reportResult("success"); |
| } else { |
| reportResult("unexpected"); |
| } |
| }); |
| } |
| |
| window.addEventListener("message", e => { |
| if (e.data.type == "make-payment-request") |
| requestPayment(); |
| }); |
| |
| window.top.postMessage({"type": "subframe-loaded"}, "*"); |
| </script> |