Looks like we missed asking for the official position of Webkit. Just sent the request <https://lists.webkit.org/pipermail/webkit-dev/2022-May/032221.html>.
On Fri, Jan 28, 2022 at 12:02 PM Chris Harrelson <chris...@chromium.org> wrote: > > > On Fri, Jan 28, 2022 at 9:01 AM Stephen Mcgruer <smcgr...@chromium.org> > wrote: > >> > Am I correct that currently Chromium allows the Payment Request API to >> be used unconditionally in iframes? Do you then intend to send another >> intent to change the behavior to require activation, after a suitable >> period and working with sites to migrate? >> >> Correct. This is Intent to Deprecate and Remove: Calling >> PaymentRequest.show without user activation >> <https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/xCW746n6XJI/m/rpqi3Ws2EAAJ> >> . >> > > LOL. I feel like I might have LGTMed that one. > > >> We had hoped to land them simultaneously (as we have a good relationship >> with the primary user that does not currently have user-activation when >> calling show()), however our partner is having trouble with their >> migration and we may request to push the enforcement (aka the deprecation) >> back to M102. (TBD still; I expect to make the request on the deprecation >> thread in the next few days.) >> > > SGTM! > > LGTM3 for this intent (shipping the API). > > >> >> On Fri, 28 Jan 2022 at 11:55, Chris Harrelson <chris...@chromium.org> >> wrote: >> >>> I'm a bit confused about the bit regarding transitioning existing sites. >>> Am I correct that currently Chromium allows the Payment Request API to be >>> used unconditionally in iframes? Do you then intend to send another intent >>> to change the behavior to require activation, after a suitable period and >>> working with sites to migrate? >>> >>> Chris >>> >>> On Thu, Jan 27, 2022 at 11:13 PM Yoav Weiss <yoavwe...@chromium.org> >>> wrote: >>> >>>> LGTM2 % fixing the spec issue. >>>> >>>> On Thu, Jan 27, 2022 at 9:53 PM Mike Taylor <miketa...@chromium.org> >>>> wrote: >>>> >>>>> Appreciate the replies, Mustaq. >>>>> >>>>> This seems like a useful addition to the platform, thanks for working >>>>> on it. LGTM1. >>>>> >>>>> On 1/27/22 12:35 PM, Mustaq Ahmed wrote: >>>>> >>>>> Hi Mike: >>>>> >>>>> Appreciate your feedback. My answers are inline. >>>>> >>>>> Mustaq >>>>> >>>>> >>>>> On Wed, Jan 26, 2022 at 6:03 PM Mike Taylor <miketa...@chromium.org> >>>>> wrote: >>>>> >>>>>> Hi Mustaq, >>>>>> >>>>>> On 1/25/22 4:45 PM, Mustaq Ahmed wrote: >>>>>> >>>>>> Contact emails >>>>>> >>>>>> mus...@chromium.org, smcgr...@chromium.org >>>>>> Explainer >>>>>> >>>>>> https://github.com/WICG/capability-delegation >>>>>> Specification >>>>>> >>>>>> https://wicg.github.io/capability-delegation/spec.html >>>>>> Design doc >>>>>> >>>>>> >>>>>> https://docs.google.com/document/d/1IYN0mVy7yi4Afnm2Y0uda0JH8L2KwLgaBqsMVLMYXtk/edit?usp=sharing >>>>>> Summary >>>>>> >>>>>> Capability delegation means allowing a frame to relinquish its >>>>>> ability to call a restricted API and transfer the ability to another >>>>>> (sub)frame it trusts. >>>>>> >>>>>> Can you expand more on the relinquishing aspect and how regaining the >>>>>> capability happens? I can't find any normative text in >>>>>> https://wicg.github.io/capability-delegation/spec.html that explains >>>>>> how it happens. Do we look for expired timestamps in >>>>>> DELEGATED_CAPABILITY_TIMESTAMPS["feature"] of all frames? Something else? >>>>>> >>>>>> (maybe I'm looking in the wrong place!) >>>>>> >>>>> You got it right: our proposal missed the normative text around the >>>>> relinquishing, yikes! I opened this spec issue >>>>> <https://github.com/WICG/capability-delegation/issues/24>, we will >>>>> send out a PR to fix this when we get a chance. In the meantime here is >>>>> what we wanted to mean: access to activation-gated APIs >>>>> <https://html.spec.whatwg.org/multipage/interaction.html#user-activation-gated-apis> >>>>> is >>>>> lost from the sender frame through consumption, and the receiver frame >>>>> checks its own DELEGATED_CAPABILITY_TIMESTAMPS["feature"] only. >>>>> >>>>> If an app wants to delegate its ability to call a restricted JS >>>>>> capability (e.g. popups, fullscreen, etc) to a known+trusted third-party >>>>>> frame, the app would utilize a Capability Delegation API to "transfer" >>>>>> the >>>>>> ability to the target frame in a time-constrained manner (unlike static >>>>>> mechanisms like <iframe allow> attributes). >>>>>> >>>>>> What happens if the delegation is refused (or fails) by the browser >>>>>> for some reason? As a developer, how do I know that I shouldn't fire off >>>>>> a >>>>>> PaymentRequest that's going to fail? Do we signal anything in the message >>>>>> event, if not, should we? >>>>>> >>>>>> (From the PaymentRequest side, I guess I can handle the failure if >>>>>> PaymentRequest.show() is rejected.) >>>>>> >>>>> Yes, just trying PaymentRequest.show() works on the receiver side >>>>> today. As we get more use-cases around delegation, we can explore >>>>> signaling on the received message event. I would suggest starting a new >>>>> issue to discuss this. >>>>> >>>>> That's fair - I'll file an issue, but I don't consider this to be a >>>>> blocking concern. >>>>> >>>>> >>>>> As for error handling on the sender side, we have a few synchronous >>>>> failure conditions in our postMessage >>>>> <https://wicg.github.io/capability-delegation/spec.html#monkey-patch-to-html-tracking-delegation> >>>>> algorithm >>>>> <https://wicg.github.io/capability-delegation/spec.html#monkey-patch-to-html-tracking-delegation> >>>>> already, >>>>> can easily new ones as needed. However, if you are thinking about an >>>>> asynchronous failure (e.g. detected later when the browser decided to run >>>>> the posted task), it seems like an existing problem with postMessage >>>>> unless >>>>> we change it to return a Promise >>>>> <https://github.com/whatwg/html/issues/3458> (a separate problem). >>>>> >>>>>> Blink component >>>>>> >>>>>> Blink>Input >>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInput> >>>>>> TAG review >>>>>> >>>>>> https://github.com/w3ctag/design-reviews/issues/655 >>>>>> TAG review status >>>>>> >>>>>> Approved subject to minor changes. >>>>>> >>>>>> (Work in progress, see >>>>>> https://github.com/WICG/capability-delegation/pull/23). >>>>>> Risks Interoperability >>>>>> >>>>>> Interop risk here like any new API: new use-cases relying on >>>>>> delegation will fail in a browser that hasn't implemented this feature. >>>>>> In >>>>>> such a browser, the new API (postMessage() call with an additional >>>>>> option) will silently get ignored while preserving the legacy behavior. >>>>>> More precisely, the postMessage() call will be treated as if it was >>>>>> meant to send the message object only, and the delegated capability will >>>>>> behave in the target Window as if no delegation has taken place. >>>>>> >>>>>> >>>>>> Compatibility >>>>>> >>>>>> There is no compat risk because this is a new feature. >>>>>> External signals Gecko: Positive ( >>>>>> https://github.com/mozilla/standards-positions/issues/565) WebKit: >>>>>> No signal Web developers: Positive ( >>>>>> https://discourse.wicg.io/t/capability-delegation/4821/3) >>>>>> Debuggability >>>>>> >>>>>> Developers can test the delegated API by calling it from the console >>>>>> of postMessage-target Window. Additionally, on the console of the >>>>>> sender Window, navigator.userActivation.isActive API can be utilized >>>>>> to check the consumption of user activation as a side-effect of >>>>>> delegation. >>>>>> Ongoing technical constraints >>>>>> >>>>>> None. >>>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? >>>>>> >>>>>> Yes >>>>>> Is this feature fully tested by web-platform-tests >>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>>>>> ? >>>>>> >>>>>> Work in progress: >>>>>> https://chromium-review.googlesource.com/c/chromium/src/+/3413851 >>>>>> Flag name >>>>>> >>>>>> --enable-blink-features=CapabilityDelegationPaymentRequest >>>>>> Requires code in //chrome? >>>>>> >>>>>> False >>>>>> Tracking bug >>>>>> >>>>>> https://crbug.com/1130558 >>>>>> Estimated milestone >>>>>> >>>>>> M100 >>>>>> Link to entry on the Chrome Platform Status >>>>>> >>>>>> https://www.chromestatus.com/feature/5708770829139968 >>>>>> Links to previous Intent discussions >>>>>> >>>>>> Intent to prototype: >>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/9CeLYndESPE/m/AhEttheMBQAJ >>>>>> >>>>>> Intent to Experiment: >>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/i6pAWsjU7zg/m/UK0lGnKuAAAJ >>>>>> >>>>>> >>>>>> >>>>>> This intent message was generated by Chrome Platform Status >>>>>> <https://www.chromestatus.com/> >>>>>> -- >>>>>> 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/CAB0cuO7vK4UUEzD%3DwJGnAdyTRxgRrmx7AgfoQjCndi91DF2hGA%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO7vK4UUEzD%3DwJGnAdyTRxgRrmx7AgfoQjCndi91DF2hGA%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/CAL5BFfV8fECzjRrKi-kUraV80jHokb1FYgjPTmZBxLSfoUxx-w%40mail.gmail.com >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfV8fECzjRrKi-kUraV80jHokb1FYgjPTmZBxLSfoUxx-w%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/CADY3Mae-L9g0W3KSXyXpuuqAgdym3cFAGLk0uicacOpN%3D%3DE85Q%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADY3Mae-L9g0W3KSXyXpuuqAgdym3cFAGLk0uicacOpN%3D%3DE85Q%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/CAB0cuO7_trW8kJxXh9YU%2BH68fPPmzPQmY%2B7VTfq2QoFah8YcFg%40mail.gmail.com.