Thanks for the clarification! My LGTM1 stands.

/Daniel

On 2021-10-22 12:51, Andreu Botella wrote:
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

    and...@andreubotella.com, mas...@chromium.org


            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 blink-dev+...@chromium.org.
    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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ed785631-8d22-a1d7-9e57-d798a2564342%40gmail.com.

Reply via email to