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.

Reply via email to