Just to clarify: inspecting a FormData object isn't the only way to observe this change. If you call fetch() with a FormData body, have a form-associated custom element whose submission value is a FormData, or modify a form's entry list through the FormData object passed in the formdata event, before this change you could end up with unnormalized entries in the form payloads, since early normalization doesn't apply and the FormData methods don't normalize entries. Since late normalization happens at the point of encoding the form payload as the corresponding enctype, those cases will now be normalized. It's still an extremely obscure case, though.
Andreu On Friday, October 22, 2021 at 12:30:33 PM UTC+2 Daniel Bratell wrote: > LGTM1 > > If I understand correctly, this change would only be visible if someone > programmatically creates form data in javascript with the FormData > constructor, that data has non-CRLF newlines and the page in one way or > another depend on the interim value having been normalized inside the > FormData object before submit. I agree that this is an obscure case and the > presence of other browsers with different behaviour makes this ok to ship. > > /Daniel > On 2021-10-21 23:45, Mason Freed wrote: > > Contact emails [email protected], [email protected] > > Explainer None > > Specification > https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-form-data-set > > Design docs > https://blog.whatwg.org/newline-normalizations-in-form-submission > > Summary > > Before this change, newlines in form entries were normalized early in the > form submission process (during the entry list construction), with an > additional late normalization happening as the form payload was encoded > with the application/x-www-form-urlencoded enctype. With this change, the > early normalization is removed and the late normalization is extended to > all enctypes. > > > Blink component Blink > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink> > > Search tags normalization > <https://chromestatus.com/features#tags:normalization>, html > <https://chromestatus.com/features#tags:html>, forms > <https://chromestatus.com/features#tags:forms>, newline > <https://chromestatus.com/features#tags:newline>, FormData > <https://chromestatus.com/features#tags:FormData> > > TAG review > > TAG review status Not applicable > > Risks > > > Interoperability and Compatibility > > While this is a change in behavior, it should only affect very corner case > situations. And the fact that both WebKit and Gecko have shipped this > behavior should also mitigate the compat risk. For more detail, see the > discussions on the spec PR: https://github.com/whatwg/html/pull/6287 This > is an interop-related change: prior to this feature launching in Chromium, > the browsers differed on behavior. They will now be the same. > > > Gecko: Shipped/Shipping > > WebKit: Shipped/Shipping > > Web developers: No signals > > > Debuggability > > No DevTools support required. This feature can be debugged directly via > Javascript. > > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> > ? Yes > > Flag name > > Requires code in //chrome? False > > Tracking bug https://crbug.com/1167095 > > Estimated milestones > > No milestones specified > > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/5654547184746496 > > This intent message was generated by Chrome Platform Status > <https://www.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 on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDhaRnX8dvv-UoR%2BmxZ0ksshLy0SGbx5Krk4wguf1B_r6A%40mail.gmail.com > > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDhaRnX8dvv-UoR%2BmxZ0ksshLy0SGbx5Krk4wguf1B_r6A%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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/992291b7-0047-4982-a9b9-797922eb3a64n%40chromium.org.
