Bonus LGTM4

/Daniel

On 2024-09-11 17:58, Alex Russell wrote:
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
                        
<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
                                    
<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
                                    
<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
                                    
<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
                                    
<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
                                    <http://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
                                
<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
                                <http://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
                            
<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
                                    
<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
                                    <mailto: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
        <mailto: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/e116068a-b3b2-46c8-b44d-0e5c5d4304e6%40gmail.com.

Reply via email to