LGTM3 On Wednesday, September 11, 2024 at 8:04:22 AM UTC-7 fbea...@google.com wrote:
> Good point Daniel! I'll go update the chrome status entry. > Here's how we'll proceed: > 1. We'll deprecate the method with `DeprecateAs` in the IDL file > 2. Then we'll add a blink runtime feature off by default that hides the > method with `RuntimeEnabled` to remove it > 3. And finally we can remove it completely in the IDL file. > > On Wed, Sep 11, 2024 at 4:56 PM Daniel Bratell <bratel...@gmail.com> > wrote: > >> It's a bit scary, but given the analysis, the risk seems contained. You >> listed None as Finch flag though. I think it's policy, and prudent, to make >> changes like this protected by a flag so that it can be undone if we're >> wrong. >> >> /Daniel >> On 2024-09-10 14:09, Yoav Weiss (@Shopify) wrote: >> >> OK, LGTM1 then :D >> >> On Tue, Sep 10, 2024 at 2:01 PM François Beaufort <fbeauf...@google.com> >> wrote: >> >>> I've checked with a Chromium build that removes the requestAdapterInfo() >>> method and the websites I've tried are not broken. >>> The content of the string sent for analytics is simply different but the >>> POST request still happens properly. >>> >>> On Tue, Sep 10, 2024 at 12:32 PM Yoav Weiss (@Shopify) < >>> yoavwe...@chromium.org> wrote: >>> >>>> Wait, I was a bit quick on that LGTM (excited about the removal in >>>> WebKit, I guess). >>>> You're saying that our latest data is that this API is used in 0.41% of >>>> requests. What happens to that usage (which seems concentrated to a few 3P >>>> scripts) when the API is removed? What does breakage in practice look like? >>>> >>>> On Tuesday, September 10, 2024 at 12:29:16 PM UTC+2 Yoav Weiss wrote: >>>> >>>>> LGTM1 >>>>> >>>>> On Tuesday, September 10, 2024 at 8:55:36 AM UTC+2 François Beaufort >>>>> wrote: >>>>> >>>>>> https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2338982367 >>>>>> indicates they have just removed it in WebKit as expected. >>>>>> >>>>>> >>>>>> On Mon, Sep 9, 2024 at 5:48 PM François Beaufort < >>>>>> fbeauf...@google.com> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Sep 9, 2024 at 5:47 PM Mike Taylor <miketa...@chromium.org> >>>>>>> wrote: >>>>>>> >>>>>>>> On 9/9/24 11:45 AM, François Beaufort wrote: >>>>>>>> >>>>>>>> On Mon, Sep 9, 2024 at 5:39 PM Mike Taylor <miketa...@chromium.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> On 9/9/24 10:38 AM, 'François Beaufort' via blink-dev wrote: >>>>>>>>> >>>>>>>>> Contact emails fbeauf...@google.com >>>>>>>>> >>>>>>>>> Explainer None >>>>>>>>> >>>>>>>>> Specification https://gpuweb.github.io/gpuweb/#dom-gpuadapter-info >>>>>>>>> >>>>>>>>> Summary >>>>>>>>> >>>>>>>>> The WebGPU WG decided it was impractical for requestAdapterInfo() >>>>>>>>> to trigger a permission prompt so they’ve removed that option and >>>>>>>>> replaced >>>>>>>>> it with the GPUAdapter info attribute so that web developers can get >>>>>>>>> the >>>>>>>>> same GPUAdapterInfo value synchronously this time. See the previous >>>>>>>>> intent >>>>>>>>> to ship at >>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/eZqMmX7q_bA/m/euMLVMpxAgAJ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Blink component Blink>WebGPU >>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> >>>>>>>>> >>>>>>>>> Motivation >>>>>>>>> >>>>>>>>> The requestAdapterInfo() asynchronous method in WebGPU is >>>>>>>>> redundant because developers can already get GPUAdapterInfo >>>>>>>>> synchronously >>>>>>>>> using the GPUAdapter info attribute. Hence, it should be removed. >>>>>>>>> >>>>>>>>> A search for the string "requestAdapterInfo" in HTTPArchive >>>>>>>>> yielded no results. >>>>>>>>> >>>>>>>>> According to >>>>>>>>> https://chromestatus.com/metrics/feature/timeline/popularity/4977, >>>>>>>>> the requestAdapterInfo() method accounted for approximately 0.41% of >>>>>>>>> page >>>>>>>>> loads in September 2024. >>>>>>>>> >>>>>>>>> Chrome UKMs helped us in identifying the most popular websites >>>>>>>>> using the WebGPU requestAdapterInfo() method: - Twitch: The team has >>>>>>>>> been >>>>>>>>> contacted and has indicated that they will update their code. - >>>>>>>>> Dynatrace: >>>>>>>>> Used by the vast majority of those websites for analytics, they have >>>>>>>>> been >>>>>>>>> made aware of this deprecation. >>>>>>>>> >>>>>>>>> >>>>>>>>> Initial public proposal None >>>>>>>>> >>>>>>>>> TAG review None >>>>>>>>> >>>>>>>>> TAG review status Not applicable >>>>>>>>> >>>>>>>>> Risks >>>>>>>>> >>>>>>>>> >>>>>>>>> Interoperability and Compatibility >>>>>>>>> >>>>>>>>> When WebGPU eventually launches in Safari and Firefox, websites >>>>>>>>> will be able to get GPUAdapterInfo values exclusively through the >>>>>>>>> standardized GPUAdapter info attribute. We anticipate Safari and >>>>>>>>> Firefox >>>>>>>>> will soon support WebGPU, but won't include this non-standard method. >>>>>>>>> Therefore, the sooner Chromium implements the Deprecate and Remove >>>>>>>>> process, >>>>>>>>> the less likely it is that content will work in Chromium but not in >>>>>>>>> other >>>>>>>>> browsers. In Chromium-based browsers, as the requestAdapterInfo() >>>>>>>>> asynchronous method returned a promise, websites that followed best >>>>>>>>> practices were already catching rejected promises. Web developers >>>>>>>>> have been >>>>>>>>> made aware of this change in July 2024 at >>>>>>>>> https://developer.chrome.com/blog/new-in-webgpu-127?hl=en#gpuadapter_info_attribute. >>>>>>>>> >>>>>>>>> They can use the following one-line code during the transition >>>>>>>>> period: >>>>>>>>> const info = adapter.info || await adapter.requestAdapterInfo(); >>>>>>>>> >>>>>>>>> I know that WebKit !== Safari, but I do see they have >>>>>>>>> requestAdapterInfo >>>>>>>>> <https://github.com/WebKit/WebKit/blob/e5b033ce5afcc666cf85ec75d53179dbd75006df/Source/WebCore/Modules/WebGPU/GPUAdapter.idl#L41> >>>>>>>>> >>>>>>>>> today. Do we have any sense of what their plans are there (maybe a >>>>>>>>> standards position could clarify that)? >>>>>>>>> >>>>>>>> >>>>>>>> As you can see in >>>>>>>> https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2141279713, >>>>>>>> they re-added temporarily requestAdapterInfo() at the time to avoid >>>>>>>> breaking websites that didn't make the move yet. >>>>>>>> FYI, I've updated Apache TVM used by WebLLM to use adapter.info in >>>>>>>> apache/tvm#17051 <https://github.com/apache/tvm/pull/17051>. >>>>>>>> >>>>>>>> Cool - does that mean WebKit is willing to remove it now (or >>>>>>>> shortly after we do)? >>>>>>>> >>>>>>> >>>>>>> I believe they do but I'll let them respond to that: >>>>>>> https://github.com/gpuweb/gpuweb/pull/4662#issuecomment-2338474559 >>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> *Gecko*: No signal >>>>>>>>> >>>>>>>>> *WebKit*: No signal >>>>>>>>> >>>>>>>>> *Web developers*: No signals >>>>>>>>> >>>>>>>>> *Other signals*: >>>>>>>>> >>>>>>>>> WebView application risks >>>>>>>>> >>>>>>>>> Does this intent deprecate or change behavior of existing APIs, >>>>>>>>> such that it has potentially high risk for Android WebView-based >>>>>>>>> applications? >>>>>>>>> >>>>>>>>> None >>>>>>>>> >>>>>>>>> >>>>>>>>> Debuggability >>>>>>>>> >>>>>>>>> None >>>>>>>>> >>>>>>>>> >>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>>>> ? No >>>>>>>>> >>>>>>>>> Flag name on chrome://flags None >>>>>>>>> >>>>>>>>> Finch feature name None >>>>>>>>> >>>>>>>>> Non-finch justification None >>>>>>>>> >>>>>>>>> Requires code in //chrome? False >>>>>>>>> >>>>>>>>> Estimated milestones >>>>>>>>> >>>>>>>>> No milestones specified >>>>>>>>> >>>>>>>>> >>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>> https://chromestatus.com/feature/5140787340509184?gate=5110989125844992 >>>>>>>>> >>>>>>>>> This intent message was generated by Chrome Platform Status >>>>>>>>> <https://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/CAPpwU5KohE-NU%2B0bAsWzgaNLUCPGCqBr%2BH3jpoY58yGK-frwOg%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5KohE-NU%2B0bAsWzgaNLUCPGCqBr%2BH3jpoY58yGK-frwOg%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/CAOmohS%2Bor7cp5TfwDyo2F1TkwMyyDacvnL9jFv%2Bsq4xpZhy5cg%40mail.gmail.com >> >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2Bor7cp5TfwDyo2F1TkwMyyDacvnL9jFv%2Bsq4xpZhy5cg%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/776ae28d-2188-4a46-b944-1e259e6bc568n%40chromium.org.