LGTM1

/Daniel

On 2026-11-02 07:52, Yoav Weiss (@Shopify) wrote:
I talked to Keita and Youenn (Apple WebKit) last week at TPAC.

Since WebKit already shipped the new names (in Safari 27 AFAICT), I think our best bet is to do the following: * Implement the new shape and expose it to the web (potentially for a brief window) * Move the usecounter implementation to the getter of the attributes, rather than simple enumeration. Do that for both the old and new shapes.
* Gather data as soon as this hits stable.

The data we'd gather can then guide a decision on which shape should stick around.

On Wednesday, September 16, 2026 at 5:02:58 PM UTC+2 Alex Russell wrote:

    Any progress?

    On Tuesday, August 18, 2026 at 6:02:08 AM UTC-7 Keita Suzuki wrote:

        Hi Alex,

        Thanks for checking in and sorry for the late response.
        We are still actively discussing the next steps on a seperate
        thread, and will get back to you as soon as we reach a conclusion.

        Thanks so much.

        Best,
        Keita

        On Tue, Aug 18, 2026 at 6:38 AM Alex Russell
        <[email protected]> wrote:

            Any progress? Or should we archive this Intent?

            Best,

            Alex

            On Monday, June 15, 2026 at 11:37:54 AM UTC-7 Alex Russell
            wrote:

                Have there been updates related to any of the data
                Mike asked for here?

                Best,

                Alex

                On Sunday, April 19, 2026 at 7:35:42 AM UTC-7 Mike
                Taylor wrote:

                    On 4/16/26 2:31 a.m., Yoav Weiss (@Shopify) wrote:

                    Can we align the spec to the implementation,
                    rather than the other way around?

                    The current names seem fine at first glance..

                    On Fri, Apr 17, 2026 at 2:24 AM Yoshisato
                    Yanagisawa <[email protected]> wrote:

                        Hi Yoav and Rick,

                        Thank you for raising this point. I believe
                        there is a misunderstanding regarding the
                        background that necessitates this Intent to
                        Ship.

                        The initial Intent to Ship
                        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/NqI9QfefGbo/m/RXADtpfRCQAJ>
 for
                        this feature already included a link to the
                        specification's Pull Request
                        
<https://github.com/w3c/resource-timing/pull/415/commits>,
                        which defined the attributes as
                        `workerMatchedRouterSource` and
                        `workerFinalRouterSource`. Unfortunately, our
                        team, including the authors and reviewers,
                        overlooked the naming mismatch between the
                        specification and the Chromium code when the
                        feature was shipped. This oversight led to
                        the release of the non-compliant fields
                        (`workerMatchedSourceType` and
                        `workerFinalSourceType`).

                        The root cause of the inconsistency was not a
                        subsequent spec discussion in WebPerfWG (as
                        seen in the 2024
                        
<https://docs.google.com/document/d/1lhtCeXknwsoVzzMslJmXlYzjgZa0LE0W-ZP3UL8D7to/edit?tab=t.0#heading=h.t8b2j8fdt60u>
                        and 2025
                        
<https://docs.google.com/document/d/1Yw38B6y4NIioBQtc2tyoCSZrf_F1gi4jI1vB7pLFM0w/edit?tab=t.0#heading=h.3kfawsdwn1ds>

                        
<https://docs.google.com/document/d/1Yw38B6y4NIioBQtc2tyoCSZrf_F1gi4jI1vB7pLFM0w/edit?tab=t.0#heading=h.3kfawsdwn1ds>
                         meeting minutes). Instead, the issue appears
                        to have originated from an internal naming
                        convention within Chromium's implementation.
                        Specifically, internal usage of the `
                        
<https://chromium-review.git.corp.google.com/c/chromium/src/+/5297034/4/services/network/public/mojom/service_worker_router_info.mojom>ServiceWorkerRouterSourceType`
                        
<https://chromium-review.git.corp.google.com/c/chromium/src/+/5297034/4/services/network/public/mojom/service_worker_router_info.mojom>
                        enum (a successor to the SourceType
                        
<https://chromium-review.git.corp.google.com/c/chromium/src/+/4547028/20/third_party/blink/public/common/service_worker/service_worker_router_rule.h>
                        used in older code) seems to have led the
                        implementation to incorrectly apply the Type
                        suffix. This was the source of the code
                        diverging from the specification's proposed
                        notation, which was defined early in the
                        process (in this GitHub Issue Comment
                        
<https://github.com/WICG/service-worker-static-routing-api/issues/19#issuecomment-1899471136>).


                        Therefore, any search for a specification
                        discussion that /changed/ the name after the
                        I2S approval will not be fruitful, as the
                        spec name was intended to be compliant from
                        the beginning.

                        I sincerely apologize for this internal
                        naming inconsistency and the resulting need
                        for this follow-up Intent to Ship to align
                        Chromium with the finalized specification.

                        Regarding Rick's questions:

                          * *What signals do we have from other
                            implementors in terms of which name
                            they've shipped or prefer to ship?*

                            The naming mismatch was discovered by a
                            vendor from another browser.

                    This is helpful to know, but doesn't quite get at
                    the core concern of the question. Has another
                    browser/implementer shipped this API with the
                    specced name? Or is someone about to ship the API,
                    and that's how they noticed?

                    Having WebKit and Mozilla vendor positions would
                    have helped answer this

                    If answer to either question is "no", I think the
                    best path forward is what Yoav suggests: we should
                    make the spec match the shipping implementation.
                    It's an unfortunate mistake, but it took about a
                    year for anybody to notice it, and the usage
                    numbers suggest developers are able to use it
                    as-is (to Yoav's point that the current names seem
                    fine).

                          * *What is the compat risk (e.g.,
                            UseCounter) of the APIs we've already
                            shipped?*

                            The current UseCounter metrics show
                            approximately 5% usage. However, this
                            count may be inflated because developers
                            often list all attributes in a
                            performance entry, so I doubt the actual
                            number of users depending on the
                            non-compliant fields is that high.
                              o workerMatchedSourceType
                                
https://chromestatus.com/metrics/feature/timeline/popularity/5117
                                
<https://chromestatus.com/metrics/feature/timeline/popularity/5117>
                              o WorkerFinalSourceType
                                
https://chromestatus.com/metrics/feature/timeline/popularity/5118
                                
<https://chromestatus.com/metrics/feature/timeline/popularity/5118>

                    5% is very, very high. I assume we don't have a
                    way to know if sites are depending on these
                    fields, right (presumably the info is used by
                    backend systems, so we can't know what would break
                    or not)?


                        Thanks,
                        Yoshisato

                        2026年4月16日(木) 0:17 Rick Byers
                        <[email protected]>:

                            In particular the question is whether
                            we're better off trying to change the
                            spec to match what we've shipped, or
                            change what we've shipped to match the
                            spec. To resolve this I think we need to
                            know:

                              * What signals do we have from other
                                implementors in terms of which name
                                they've shipped or prefer to ship?
                              * What is the compat risk (eg.
                                UseCounter) of the APIs we've already
                                shipped? If the usage is already high
                                then it's unlikely we can unship it,
                                so we should evaluate the compat risk
                                before deciding to embark on a rename.

                            Thanks,
                               Rick

                            On Thu, Apr 9, 2026 at 1:42 AM Yoav Weiss
                            (@Shopify) <[email protected]> wrote:

                                It looks like the API owners accepted
                                the interop risk when approving
                                
<https://groups.google.com/a/chromium.org/g/blink-dev/c/NqI9QfefGbo/m/RXADtpfRCQAJ?utm_medium=email&utm_source=footer>
                                this to ship before the PRs landed.
                                Can you point us to the spec
                                discussion that led to the name change?

                                On Thu, Apr 9, 2026 at 4:11 AM Keita
                                Suzuki <[email protected]> wrote:

                                    *Contact emails*
                                    [email protected],
                                    [email protected]
                                    <mailto:[email protected]>,
                                    [email protected]
                                    <mailto:[email protected]>

                                    *Specification*
                                    
https://github.com/w3c/resource-timing/pull/415
                                    
<https://github.com/w3c/resource-timing/pull/415>

                                    *Summary*
                                    Adds the
                                    `workerMatchedRouterSource` and
                                    `workerFinalRouterSource`
                                    attributes to the Resource Timing
                                    and Navigation Timing APIs. These
                                    attributes allow developers to
                                    identify which Service Worker
                                    Static Router rule was matched
                                    and the final source used for the
                                    request. Note on Deprecation:
                                    This change focuses exclusively
                                    on adding the spec-compliant
                                    fields. We will be sending a
                                    separate Intent to Deprecate
                                    (I2D) for the existing
                                    non-compliant fields
                                    (`workerMatchedSourceType` and
                                    `workerFinalSourceType`) once we
                                    have gathered sufficient usage
                                    data from our UseCounters.

                                    *Blink component*
                                    Blink>ServiceWorker
                                    
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EServiceWorker%22>

                                    *Web Feature ID*
                                    resource-timing
                                    
<https://webstatus.dev/features/resource-timing>

                                    *Motivation*
                                    The original field names
                                    (`workerMatchedSourceType` and
                                    `workerFinalSourceType`) were
                                    introduced during the
                                    experimental phase and used
                                    throughout the Origin Trial
                                    (M131–M139) . However, the
                                    specification has since settled
                                    on the names
                                    `workerMatchedRouterSource` and
                                    `workerFinalRouterSource` to be
                                    more descriptive and consistent
                                    with the broader API. Renaming
                                    these fields is critical for
                                    ensuring that Chromium remains
                                    spec-compliant and provides a
                                    stable, interoperable interface
                                    for web developers.

                                    *Initial public proposal*
                                    /No information provided/

                                    *TAG review*
                                    /No information provided/

                                    *TAG review status*
                                    Issues addressed

                                    *Goals for experimentation*
                                    None

                                    *Risks*


                                    *Interoperability and Compatibility*
                                    /No information provided/

                                    /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. This change is purely
                                    additive (adding the new fields)
                                    and does not change the behavior
                                    of existing APIs in a way that
                                    would break WebView-based
                                    applications


                                    *Debuggability*
                                    /No information provided/

                                    *Will this feature be supported
                                    on all six Blink platforms
                                    (Windows, Mac, Linux, ChromeOS,
                                    Android, and Android WebView)?*
                                    Yes

                                    *Is this feature fully tested by
                                    web-platform-tests
                                    
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
                                    Yes


                                    *Flag name on about://flags*
                                    /No information provided/

                                    *Finch feature name*
                                    /No information provided/

                                    *Non-finch justification*
                                    /No information provided/

                                    *Rollout plan*
                                    Will ship enabled for all users

                                    *Requires code in //chrome?*
                                    False

                                    *Availability expectation*
                                    Feature is available on Web
                                    Platform Baseline within 12
                                    months of launch in Chrome.

                                    *Adoption expectation*
                                    Feature is used by specific
                                    partner(s) to provide
                                    functionality within 12 months of
                                    launch in Chrome. Feedback from
                                    the Origin Trial indicated that
                                    developers already find the
                                    router source information highly
                                    valuable for tracking and
                                    attribution.

                                    *Adoption plan*
                                    We will notify developers of the
                                    new field names via technical
                                    blog posts and documentation
                                    updates. The temporary
                                    coexistence of old and new fields
                                    ensures a smooth transition for
                                    current users.

                                    *Non-OSS dependencies*

                                    Does the feature depend on any
                                    code or APIs outside the Chromium
                                    open source repository and its
                                    open-source dependencies to function?

                                    No.

                                    *Estimated milestones*
                                    Shipping on desktop         149
                                    Shipping on Android         149
                                    Shipping on WebView         149



                                    *Anticipated spec changes*

                                    Open questions about a feature
                                    may be a source of future web
                                    compat or interop issues. Please
                                    list open issues (e.g. links to
                                    known github issues in the
                                    project for the feature
                                    specification) whose resolution
                                    may introduce web compat/interop
                                    risk (e.g., changing to naming or
                                    structure of the API in a
                                    non-backward-compatible way).

                                    None. The corresponding spec
                                    changes are already added. These
                                    fields are being added
                                    specifically to match the
                                    finalized specification.
                                    Reference:
                                    
https://github.com/w3c/resource-timing/pull/415
                                    
<https://github.com/w3c/resource-timing/pull/415>

                                    *Link to entry on the Chrome
                                    Platform Status*
                                    
https://chromestatus.com/feature/5172259800088576?gate=5871730453250048
                                    
<https://chromestatus.com/feature/5172259800088576?gate=5871730453250048>

                                    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
                                    [email protected]
                                    <mailto:[email protected]>.
                                    To view this discussion visit
                                    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFXMW90_sBa4FtsM3%2B%3D4LXx0EL9W%2BxdRW%2BzNgAp5cNLwv7mR2g%40mail.gmail.com
                                    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFXMW90_sBa4FtsM3%2B%3D4LXx0EL9W%2BxdRW%2BzNgAp5cNLwv7mR2g%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
                                [email protected]
                                <mailto:[email protected]>.
                                To view this discussion visit
                                
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSL%2BKwEAV6ObwQRLn5ZcoH17choN_ka-6EWGw_L178zhCw%40mail.gmail.com
                                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSL%2BKwEAV6ObwQRLn5ZcoH17choN_ka-6EWGw_L178zhCw%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
                    [email protected]
                    <mailto:[email protected]>.
                    To view this discussion visit
                    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSKDTNmGeGWFi2r1T5i50HU7TqmDqU28L4JzWdLF%2BZpXPg%40mail.gmail.com
                    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSKDTNmGeGWFi2r1T5i50HU7TqmDqU28L4JzWdLF%2BZpXPg%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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f0830c66-d308-45b1-9550-b029f0c4efe3n%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f0830c66-d308-45b1-9550-b029f0c4efe3n%40chromium.org?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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/17be1f73-1a1e-438e-afe6-58d92f7ca265%40gmail.com.

Reply via email to