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/fde31362-cbc3-48f1-a342-230cd74200e3n%40chromium.org.