LGTM1. This is a nice focused interop and spec-compliance change that should have approximately zero compat impact. I agree with the plan of shipping enabled-by-default and using Finch as an emergency kill switch if something (very) unexpected happens.
On Tue, May 20, 2025 at 5:32 AM 'Issack John' via blink-dev < blink-dev@chromium.org> wrote: > We plan to deploy the feature as an enabled-by-default base::Feature, > primarily to act as an emergency shutoff valve rather than going through a > formal feature rollout. This approach aligns with the consensus-based > standards section, which doesn’t call for a gradual rollout, and given the > low risk, we believe a full rollout process isn’t necessary. > > That said, we’re calling this out here to give an opportunity to raise any > concerns about deploying it in this way. > On Monday, May 19, 2025 at 1:25:59 PM UTC-7 Issack John wrote: > >> Contact emails >> issac...@microsoft.com, dan...@microsoft.com >> >> Explainer >> None >> >> Specification >> https://mimesniff.spec.whatwg.org/#json-mime-type >> >> Summary >> Chromium now recognizes all valid JSON MIME types as defined by the >> WHATWG mimesniff specification. This includes any MIME type whose subtype >> ends with “+json”, in addition to the traditional application/json and >> text/json. This change ensures that web APIs and features relying on JSON >> detection behave consistently with the web platform standard and other >> browsers. A key motivation for this change is to fix JSON module import >> behavior, where previously valid JSON MIME types like text/html+json and >> image/svg+json would fail to load as modules. Draft CL: >> https://chromium-review.googlesource.com/c/chromium/src/+/6525687 >> Related Issues: https://github.com/whatwg/mimesniff/issues/112. The >> consensus was to retain the broad definition of JSON MIME types—including >> all */*+json. >> >> >> Blink component >> Blink>Network >> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22> >> >> Search tags >> json <https://chromestatus.com/features#tags:json>, mime >> <https://chromestatus.com/features#tags:mime>, sniffing >> <https://chromestatus.com/features#tags:sniffing>, spec-compliance >> <https://chromestatus.com/features#tags:spec-compliance>, >> interoperability >> <https://chromestatus.com/features#tags:interoperability> >> >> TAG review >> None; this is a small change to match an existing spec and behavior of >> other browsers. >> >> TAG review status >> Not applicable >> >> Risks >> >> >> Interoperability and Compatibility >> Interoperability risk is low. This change brings Chromium into alignment >> with the WHATWG MIME Sniffing Standard §4.6, which defines a JSON MIME type >> as any MIME type whose subtype ends with +json (e.g., text/html+json, >> image/svg+json), or is exactly application/json or text/json. Firefox and >> Safari already match this behavior, and the change improves >> interoperability for web developers. >> https://wpt.fyi/results/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html >> A specific compatibility consequence is that JSON module imports (both >> static and dynamic) of files with */*+json MIME types would previously have >> produced an error but will now succeed. This seems low risk. >> >> >> *Gecko*: Shipped/Shipping >> >> *WebKit*: Shipped/Shipping >> >> *Web developers*: No signals >> >> *Other signals*: >> >> Ergonomics >> None expected >> >> >> 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 >> >> >> 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 >> Test: >> https://wpt.fyi/results/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.html >> >> >> Flag name on about://flags >> None >> >> Finch feature name >> SpecCompliantJsonMimeTypes >> >> Rollout plan >> Will ship enabled for all users >> >> Requires code in //chrome? >> False >> >> Estimated milestones >> Shipping on desktop >> 138 >> Shipping on Android >> 138 >> Shipping on WebView >> 138 >> >> >> 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 >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5470594816278528?gate=6275763980206080 >> >> 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 visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/52cec510-3355-4452-b961-b9f5fe1cb323n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/52cec510-3355-4452-b961-b9f5fe1cb323n%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 blink-dev+unsubscr...@chromium.org. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-KjjfbSyesFiXTxAsWhCkX%2B1CCtT%3DwiippOLKmoXiqXQ%40mail.gmail.com.