On Tue, Feb 15, 2022 at 11:16 AM Chris Harrelson <chris...@chromium.org> wrote:
> LGTM2 for the extension to 102, but comments below. It would be very good > to make progress on landing additional spec pieces. > > On Tue, Feb 15, 2022 at 8:09 AM 'Mustaq Ahmed' via blink-dev < > blink-dev@chromium.org> wrote: > >> I think [1] would be useful for developers but I see two blockers here: >> first we need to land the Capability Delegation patch >> <https://wicg.github.io/capability-delegation/spec.html#monkey-patch-to-html-tracking-delegation> >> in HTML spec as a "reference point" for this idea, then the PR for >> navigator.userActivation <https://github.com/whatwg/html/pull/4009> >> needs to land too. >> > > Hi Mustaq, > > Is there anything blocking integrating the delegation patch into the HTML > spec, and landing the PR for userActivation? There seems to be implementer > interest from at least Gecko. > - For the Capability Delegation patch <https://wicg.github.io/capability-delegation/spec.html#monkey-patch-to-html-tracking-delegation>, yes we are already working with Gecko and will start working on an HTML PR soon (see its intent <https://groups.google.com/a/chromium.org/g/blink-dev/c/PHT_2X7oRBE/m/gR9UiZxBAQAJ> thread). - The PR for navigator.userActivation <https://github.com/whatwg/html/pull/4009> still "needs implementer interest" I think, cc-ing dtapuska@ if I missed something. (Note that this is separate from the "user activation v2" model which is already spec-ed <https://html.spec.whatwg.org/multipage/interaction.html#tracking-user-activation> .) > Chris > > >> On Mon, Feb 14, 2022 at 9:51 AM Mike Taylor <miketa...@chromium.org> >> wrote: >> >>> Thanks for the thoughtful answers! >>> >>> LGTM1. I'll trust you to file bugs / feature requests for those 3 items >>> (and yeah, 3 sounds like a useful, but hard problem to solve). >>> >>> On 2/14/22 9:44 AM, Stephen Mcgruer wrote: >>> >>> > Is there anything we can learn about their challenges that might apply >>> to the broader ecosystem? >>> >>> A little, though largely it appears to be a bug in either >>> their application or in Chrome (we're still trying to figure out which!). >>> Simplifying, the problem is that they seem to be losing the Capability >>> Delegation between click and (in a different iframe) the call to PR.show(), >>> and it's quite tricky to debug this in a large async application. I can >>> think of a few things that might help: >>> >>> 1. Adding capability delegation support to navigator.userActivation >>> <https://github.com/dtapuska/useractivation> would likely be useful, >>> e.g. exposing an array of capabilities currently active. This would make it >>> much easier to quickly debug 'do I have a CD right here'. I hope the >>> Capability Delegation folks might consider adding this! :) >>> 2. Pausing user activation timeout when code execution in devtools is >>> paused would be useful. >>> 3. More generally (and more hand-wavingly), being able to more easily >>> trace flows through async iframes 'somehow'. Devtools has some support for >>> this, and it might just be user error that we and the partner are >>> struggling, but when we're trying to answer questions like "Is it possible >>> that this event flowed through an intermediary iframe that was created and >>> destroyed again before this line of code executed", it can be tricky. >>> >>> On Mon, 14 Feb 2022 at 09:27, Mike Taylor <miketa...@chromium.org> >>> wrote: >>> >>>> Hi Stephen, >>>> >>>> Is there anything we can learn about their challenges that might apply >>>> to the broader ecosystem? >>>> >>>> On 2/14/22 9:22 AM, Stephen McGruer wrote: >>>> >>>> Hey all, >>>> >>>> Unfortunately we've hit a snag in our deprecation; a partner has been >>>> having trouble integrating this change into their system, and though we are >>>> engaged in helping them we haven't made much progress yet. >>>> >>>> As such, I'm currently requesting that we delay this deprecation *until >>>> M102*, to give us more time to help solve their problem before we >>>> require user activation. (I'm not sure how many LGTMs delaying a >>>> deprecation requires?) >>>> >>>> Thanks, >>>> Stephen >>>> >>>> On Tuesday, January 4, 2022 at 10:29:01 AM UTC-5 Stephen McGruer wrote: >>>> >>>>> Hey folks, >>>>> >>>>> Following up here - we have determined that the remaining uses *do* >>>>> necessitate >>>>> making Capability Delegation available for web developers (see our Intent >>>>> to Experiment >>>>> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/i6pAWsjU7zg/m/CzqgcGAXAwAJ> >>>>> - >>>>> unfortunately our partner didn't engage at that time or we would have >>>>> caught this earlier :(. ) >>>>> >>>>> We expect an Intent to Ship to be sent for Capability Delegation >>>>> 'soon', targeting M100, and so are planning to push this deprecation out >>>>> to >>>>> M100 as well to align with that. >>>>> >>>>> Thanks, >>>>> Stephen >>>>> On Wednesday, December 1, 2021 at 3:25:01 PM UTC-5 Mike Taylor wrote: >>>>> >>>>>> LGTM3 >>>>>> >>>>>> On 12/1/21 12:34 PM, Chris Harrelson wrote: >>>>>> >>>>>> LGTM2 >>>>>> >>>>>> On Wed, Dec 1, 2021 at 9:33 AM Yoav Weiss <yoavwe...@chromium.org> >>>>>> wrote: >>>>>> >>>>>>> LGTM1 to deprecate in M98 and remove in M99, assuming no surprises >>>>>>> come up on the usage front. >>>>>>> >>>>>>> On Wed, Dec 1, 2021 at 6:31 PM Stephen Mcgruer < >>>>>>> smcgr...@chromium.org> wrote: >>>>>>> >>>>>>>> To be clear; I think we have a good enough shot of that remaining >>>>>>>> site fixing their code 'soon' (I expect O(weeks)) that we both: >>>>>>>> >>>>>>>> 1. Shouldn't do the removal till they have, and >>>>>>>> 2. Don't need to provide an alternative in the form of capability >>>>>>>> delegation. >>>>>>>> >>>>>>>> But the code change to at least start this deprecation would have >>>>>>>> to land by December 9th (or we punt for 1.5 months), hence why we're >>>>>>>> filing >>>>>>>> this ahead of them fixing their site :). >>>>>>>> >>>>>>>> On Wed, 1 Dec 2021 at 12:22, Stephen Mcgruer <smcgr...@chromium.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> > Does the primary remaining site have fallback code, or will it >>>>>>>>> be broken? >>>>>>>>> >>>>>>>>> Yes and no :). It doesn't have automatic fallback for the specific >>>>>>>>> payment method the user has selected (Google Pay), but the user could >>>>>>>>> then >>>>>>>>> select one of the other payment methods that the site supports >>>>>>>>> (either a >>>>>>>>> credit card flow or I think PayPal IIRC). >>>>>>>>> >>>>>>>>> On Wed, 1 Dec 2021 at 11:05, Yoav Weiss <yoavwe...@chromium.org> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Dec 1, 2021 at 4:43 PM Stephen Mcgruer < >>>>>>>>>> smcgr...@chromium.org> wrote: >>>>>>>>>> >>>>>>>>>>> Contact emails smcgr...@chromium.org >>>>>>>>>>> >>>>>>>>>>> Specification https://www.w3.org/TR/payment-request/#show-method >>>>>>>>>>> >>>>>>>>>>> Summary >>>>>>>>>>> >>>>>>>>>>> Allowing PaymentRequest.show() to be triggered without a user >>>>>>>>>>> activation could be abused by malicious websites. To protect users, >>>>>>>>>>> the >>>>>>>>>>> spec was changed to require user activation, and we are now >>>>>>>>>>> following >>>>>>>>>>> through in the Chrome implementation. >>>>>>>>>>> >>>>>>>>>>> Plan is to deprecate in M98 and remove in M99. We may push the >>>>>>>>>>> M99 date to M100 based on compat risk; see below. >>>>>>>>>>> >>>>>>>>>>> Blink component Blink>Payments >>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EPayments> >>>>>>>>>>> >>>>>>>>>>> TAG review N/A - enforcement of feature from an >>>>>>>>>>> already-reviewed specification >>>>>>>>>>> >>>>>>>>>>> TAG review status Pending >>>>>>>>>>> >>>>>>>>>>> Risks >>>>>>>>>>> Interoperability and Compatibility >>>>>>>>>>> >>>>>>>>>>> Interoperability: no risk. Firefox has not shipped >>>>>>>>>>> PaymentRequest at all, whilst Safari's implementation already >>>>>>>>>>> requires user >>>>>>>>>>> activation for calling show(). Compatibility: the main risk. If a >>>>>>>>>>> website >>>>>>>>>>> is calling PaymentRequest.show() without a user activation today, >>>>>>>>>>> it will >>>>>>>>>>> stop working. If that website doesn't have fallback code to use >>>>>>>>>>> another >>>>>>>>>>> payments flow, it may lead to a broken purchase experience for the >>>>>>>>>>> user. >>>>>>>>>>> Due to this risk, we added a UseCounter, >>>>>>>>>>> kPaymentRequestShowWithoutGesture, >>>>>>>>>>> which tracks use of the feature. Although hits on the UseCounter >>>>>>>>>>> have >>>>>>>>>>> reduced significantly since 2019*, there is still non-zero usage >>>>>>>>>>> which is >>>>>>>>>>> growing slowly over time. We believe the growth to be related to the >>>>>>>>>>> general increase of web payments, rather than an expanded number of >>>>>>>>>>> sites. >>>>>>>>>>> To tackle the remaining usage, we have performed a UKM analysis, and >>>>>>>>>>> identified the primary remaining site. We are in contact with them, >>>>>>>>>>> and >>>>>>>>>>> expect them to roll out a fix in the coming weeks - after which we >>>>>>>>>>> will >>>>>>>>>>> revisit the numbers and this thread. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Does the primary remaining site have fallback code, or will it be >>>>>>>>>> broken? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> * >>>>>>>>>>> https://chromestatus.com/metrics/feature/timeline/popularity/2398 >>>>>>>>>>> >>>>>>>>>>> Gecko: In development ( >>>>>>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1445138) >>>>>>>>>>> >>>>>>>>>>> WebKit: Shipped/Shipping ( >>>>>>>>>>> https://bugs.webkit.org/show_bug.cgi?id=179056) >>>>>>>>>>> >>>>>>>>>>> Web developers: No signals >>>>>>>>>>> >>>>>>>>>>> Other signals: >>>>>>>>>>> >>>>>>>>>>> Debuggability >>>>>>>>>>> >>>>>>>>>>> As we are treating this as a deprecation, we intend to use the >>>>>>>>>>> issues tab (as per the checklist) to warn developers of the upcoming >>>>>>>>>>> removal. Once the support is removed, calling show() will throw a >>>>>>>>>>> SecurityError with a clear error message. >>>>>>>>>>> >>>>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>>>>>>>>>> ? Yes - >>>>>>>>>>> https://wpt.fyi/results/payment-request/show-consume-activation.https.html?label=experimental&label=master&aligned >>>>>>>>>>> >>>>>>>>>>> Requires code in //chrome? False >>>>>>>>>>> >>>>>>>>>>> Tracking bug https://crbug.com/825270 >>>>>>>>>>> >>>>>>>>>>> Estimated milestones >>>>>>>>>>> Deprecate in M98, remove in M99 or M100 (compat risk depending). >>>>>>>>>>> >>>>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>>>> https://chromestatus.com/feature/5948593429020672 >>>>>>>>>>> >>>>>>>>>>> Links to previous Intent discussions Intent to prototype: >>>>>>>>>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/2PhPgk_k9a0/m/alO4yt_HBQAJ >>>>>>>>>>> Intent to Experiment: >>>>>>>>>>> https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/i6pAWsjU7zg/m/CzqgcGAXAwAJ >>>>>>>>>>> >>>>>>>>>>> - This is a bit of a strange case, where we initially >>>>>>>>>>> believed that we needed Capability Delegation to support >>>>>>>>>>> deprecating this >>>>>>>>>>> feature. However, the partner who needed that ability has >>>>>>>>>>> instead solved >>>>>>>>>>> their problem in a different way. As such, we believe it safe to >>>>>>>>>>> require >>>>>>>>>>> user activation for show() calls *without* Capability >>>>>>>>>>> Delegation being available. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> This intent message was generated by Chrome Platform Status >>>>>>>>>>> <https://www.chromestatus.com/> and hand edited by smcgruer@. >>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "blink-dev" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to blink-dev+unsubscr...@chromium.org. >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADY3Mae4RVpVxnjMS8oJ7WE7yOtAiqqa79%3D8v%2ByNf2XhCtHWgg%40mail.gmail.com >>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADY3Mae4RVpVxnjMS8oJ7WE7yOtAiqqa79%3D8v%2ByNf2XhCtHWgg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "blink-dev" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU3ebwnoKvHPkXhQeSZ2mSfqgW_i_pXJVqEGaFjPJWWKA%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU3ebwnoKvHPkXhQeSZ2mSfqgW_i_pXJVqEGaFjPJWWKA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "blink-dev" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>> >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-19DXQBytn%2BUChj%3D5p9JrgrhMZYGxVDYgkv262ttDkoA%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-19DXQBytn%2BUChj%3D5p9JrgrhMZYGxVDYgkv262ttDkoA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>>> >>>>>> >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to blink-dev+unsubscr...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4_9hPrmzJ2kw26iBzt09dSscvGY%3DsVNOBGeTQQmQ-7Ug%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO4_9hPrmzJ2kw26iBzt09dSscvGY%3DsVNOBGeTQQmQ-7Ug%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO6LSycEt_gm1VKHP-_VUgo-ri1x3Ux9f9jrzGaZufWr9g%40mail.gmail.com.