LGTM2

/Daniel

On 2026-07-08 14:15, Yoav Weiss (@Shopify) wrote:
Also, please request review (or n/a) from the adoption checkbox.

On Wednesday, July 8, 2026 at 2:14:50 PM UTC+2 Yoav Weiss wrote:

    LGTM1

    On Wednesday, July 1, 2026 at 6:24:53 PM UTC+2
    [email protected] wrote:

        *Contact emails*
        [email protected]_ <mailto:[email protected]>
        *Specification*
        _Fetch Standard: blob URL fetch algorithm_
        
<https://fetch.spec.whatwg.org/#scheme-fetch:~:text=If%20rangeValue%20is%20failure%2C%20then%20return%20a%20network%20error.>
        *Summary*
        Blob URL requests made with Fetch or XMLHttpRequest now follow
        the Fetch Standard when parsing Range headers. Invalid or
        unsupported Range headers fail with a network error instead of
        returning the full blob response. This improves
        interoperability with other browsers and makes Chromium pass
        the corresponding Web Platform Tests.
        *Blink component*
        _Blink>Network>FetchAPI_
        
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%3EFetchAPI%22>
        *Web Feature ID*
        _fetch_ <https://webstatus.dev/features/fetch>
        *Motivation*
        Chromium currently does not fully follow the Fetch Standard
        for blob URL requests with invalid `Range` headers. When range
        parsing fails, Chromium falls back to serving the full blob
        with `200 OK`, whereas the Fetch Standard requires the request
        to fail with a network error.

        This change aligns Chromium with the Fetch Standard and
        improves interoperability for Fetch and XMLHttpRequest range
        handling.
        It resolves 52 failing Web Platform Tests in total, including
        26 failing `fetch/range/` subtests [1] that are part of the
        Interop 2026 "Fetch, Uploads and Ranges" focus area [2], along
        with 26 corresponding XMLHttpRequest tests [3].

        [1] _web-platform-tests dashboard : fetch Blob_
        
<https://wpt.fyi/results/fetch/range?label=master&label=experimental&aligned&view=subtest&q=label%3Ainterop-2026-fetch%20blob.any>

        [2]_web-platform-tests dashboard : Fetch upload and ranges
        Interop 2026_
        
<https://wpt.fyi/results/fetch?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2026-fetch>

        [3] _web-platform-tests dashboard : xhr blob_
        
<https://wpt.fyi/results/xhr?label=master&label=experimental&aligned&q=%20blob-range.any>
        *Initial public proposal*
        /No information provided/
        *TAG review*
        N/A - no new API or platform design; this is a narrow
        conformance fix to existing Fetch Standard behavior.
        *TAG review status*
        Not applicable
        *Goals for experimentation*
        None
        *Risks*

        *Interoperability and Compatibility*
        Compatibility risk is expected to be low. This assessment is
        qualitative rather than based on dedicated telemetry for the
        exact affected scenario.
        The change affects only Fetch and XMLHttpRequest requests to
        blob: URLs that include an invalid, malformed, or unsupported
        Range header. Requests without a Range header are unchanged,
        valid single-range requests continue to behave as before, and
        non-blob: URL requests are unaffected.
        The previous Chromium behavior returned the full blob when
        Range parsing failed. This change instead follows the Fetch
        Standard by treating such requests as network errors. Firefox
        and Safari already implement this behavior, so the change
        improves interoperability and aligns Chromium with the web
        platform.
        The primary compatibility risk is sites relying on Chromium's
        previous fallback behavior for invalid Range headers on
        blob: URLs. We expect this to be uncommon because it requires
        both issuing Range requests against blob: URLs and using
        invalid or unsupported Range syntax.
        /Gecko: Shipped/Shipping, Firefox already implements this
        behavior and passes the corresponding Web Platform Tests

        WebKit: Shipped/Shipping, Safari already implements this
        behavior and passes the corresponding Web Platform Tests./

        /Web developers/: No signals

        /Other signals/:
        *Ergonomics*
        No new API ergonomics risk. Existing Fetch/XHR usage is
        unchanged for valid single Range headers; invalid values now
        fail as specified.
        *Activation*
        No developer activation is required. The corrected behavior
        applies automatically to blob URL requests with Range headers.
        *Security*
        No new security risk. The change makes invalid blob URL Range
        headers fail instead of serving a full blob response, which is
        stricter than current behavior.
        *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?/
        Low. The risk is no higher for Android WebView applications
        than for websites. Only blob: URL requests with invalid,
        malformed, or unsupported Range headers are affected; all
        other requests are unchanged.
        *Debuggability*
        Existing Fetch/XHR error handling applies. Invalid blob URL
        Range requests surface as a network error / Fetch TypeError,
        and valid ranges continue to produce 206 Partial Content.
        *Will this feature be supported on all six Blink platforms
        (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?*
        Yes
        Applies to Chromium platforms that use the common blob URL
        loader for Fetch/XHR, including desktop, Android, and Android
        WebView.
        *Is this feature fully tested by **_web-platform-tests_*
        
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>*?*
        Yes
        Covered by Web Platform Tests under fetch/range/, including
        blob.any.html and blob.any.worker.html cases for invalid blob
        URL Range headers. The CL also updates expectations for the
        corresponding XHR blob range tests and adds Chromium unit
        coverage for Fetch-compatible single Range parsing and
        BlobURLLoader invalid range handling. Relevant CL:
        _https://chromium-review.googlesource.com/c/chromium/src/+/7902659_
        <https://chromium-review.googlesource.com/c/chromium/src/+/7902659>
        *Flag name on about://flags*
        /No information provided/
        *Finch feature name*
        BlobURLFetchRangeHeaderValidation
        *Rollout plan*
        Will ship enabled for all users
        *Requires code in //chrome?*
        False
        *Tracking bug*
        _https://issues.chromium.org/issues/510995915_
        <https://issues.chromium.org/issues/510995915>
        *Measurement*
        No dedicated UseCounter is planned. This is a narrow standards
        conformance fix covered by WPT and Chromium unit tests;
        invalid blob URL Range header usage is expected to be rare.
        *Availability expectation*
        Available in Chromium-based browsers once the shipping
        milestone reaches stable.
        *Adoption expectation*
        No active developer adoption is expected because this is a
        standards conformance fix to existing Fetch/XHR behavior, not
        a new API. Sites using valid single Range headers continue to
        work. Sites using invalid blob URL Range syntax may need to
        fix that syntax if they currently rely on Chromium returning
        the full blob response.
        *Adoption plan*
        No developer adoption plan is needed. The change ships as a
        browser behavior fix and is validated by Web Platform Tests.
        Any affected sites should update invalid blob URL Range header
        usage to use valid single Range syntax.
        *Non-OSS dependencies*
        No
        *Estimated milestones*
        Shipping on desktop
                
        152
        Shipping on Android
                
        152
        Shipping on WebView
                
        152

        *Anticipated spec changes*
        None. This implements the current Fetch Standard behavior.
        *Link to entry on the Chrome Platform Status*
        
_https://chromestatus.com/feature/6237991531053056?gate=5496962989293568_
        
<https://chromestatus.com/feature/6237991531053056?gate=5496962989293568>
        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]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d8da604f-feba-4a0c-8982-7b56f48cbec2n%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d8da604f-feba-4a0c-8982-7b56f48cbec2n%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/e45bbc29-8aea-408c-b566-08dc1c1f42e7%40gmail.com.

Reply via email to