From f3ce40e9a72ca669c584e8a39bdbe8411b8c3936 Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Fri, 16 Jun 2023 01:48:08 +0000 Subject: [PATCH] Bug 1835436 [wpt PR 40256] - [PaymentRequest] Only allow show() to be called in a foreground tab, a=testonly Automatic update from web-platform-tests [PaymentRequest] Only allow show() to be called in a foreground tab (#40256) See https://github.com/w3c/payment-request/pull/1005 -- wpt-commits: ce9e78b850380c6bc782efeae6faaded29d0228e wpt-pr: 40256 UltraBlame original commit: 1200c0a52171decd28e41fe24ef83c66ad347680 --- ...-request-disallowed-when-hidden.https.html | 370 ++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 testing/web-platform/tests/payment-request/payment-request-disallowed-when-hidden.https.html diff --git a/testing/web-platform/tests/payment-request/payment-request-disallowed-when-hidden.https.html b/testing/web-platform/tests/payment-request/payment-request-disallowed-when-hidden.https.html new file mode 100644 index 0000000000000..73d69113bc52c --- /dev/null +++ b/testing/web-platform/tests/payment-request/payment-request-disallowed-when-hidden.https.html @@ -0,0 +1,370 @@ +< +! +DOCTYPE +html +> +< +meta +charset += +" +utf +- +8 +" +> +< +title +> +Test +for +PaymentRequest +. +show +( +) +method +- +should +fail +when +tab +is +not +visible +< +/ +title +> +< +link +rel += +" +help +" +href += +" +https +: +/ +/ +w3c +. +github +. +io +/ +payment +- +request +/ +# +show +- +method +" +> +< +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 +> +< +! +- +- +For +minimize +( +) +- +- +> +< +script +src += +" +/ +page +- +visibility +/ +resources +/ +window_state_context +. +js +" +> +< +/ +script +> +< +script +> +' +use +strict +' +; +promise_test +( +async +t += +> +{ +const +{ +minimize +restore +} += +window_state_context +( +t +) +; +const +request += +new +PaymentRequest +( +[ +{ +supportedMethods +: +" +https +: +/ +/ +apple +. +com +/ +apple +- +pay +" +data +: +{ +version +: +3 +merchantIdentifier +: +" +merchant +. +com +. +example +" +countryCode +: +" +US +" +merchantCapabilities +: +[ +" +supports3DS +" +] +supportedNetworks +: +[ +" +visa +" +] +} +} +] +{ +total +: +{ +label +: +" +Total +" +amount +: +{ +currency +: +" +USD +" +value +: +" +1 +. +00 +" +} +} +} +) +; +/ +/ +Before +we +trigger +the +Payment +Request +minimize +the +window +. +This +should +/ +/ +cause +the +show +( +) +call +to +be +rejected +. +await +minimize +( +) +; +assert_equals +( +document +. +hidden +true +) +; +await +test_driver +. +bless +( +' +user +activation +' +) +; +return +promise_rejects_dom +( +t +" +AbortError +" +request +. +show +( +) +) +; +} +' +PaymentRequest +. +show +( +) +cannot +be +triggered +from +a +hidden +context +' +) +; +< +/ +script +>