Branch: refs/heads/webkitglib/2.44
  Home:   https://github.com/WebKit/WebKit
  Commit: 208d709bf7604891c1b3f8a082cd29b95f83fef9
      
https://github.com/WebKit/WebKit/commit/208d709bf7604891c1b3f8a082cd29b95f83fef9
  Author: Aditya Keerthi <akeer...@apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    A 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set-expected.html
    A 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set.html
    M Source/WebCore/html/EmailInputType.cpp

  Log Message:
  -----------
  Cherry-pick 276895@main (b52f2b8abac2). 
https://bugs.webkit.org/show_bug.cgi?id=271043

    REGRESSION (273461@main): The value attribute is not displayed in an input 
field with type="email" and multiple attributes
    https://bugs.webkit.org/show_bug.cgi?id=271043
    rdar://125221858

    Reviewed by Ryosuke Niwa.

    273461@main deferred input element shadow tree construction outside of 
attribute
    parsing. However, when combined with an earlier change to sanitize the 
value of
    email inputs when the multiple attribute is set (263555@main), the deferral 
of
    shadow tree construction results in the value not being displayed at all.

    The root cause of the issue is the use of `setValueFromRenderer` introduced 
by
    263555@main. The use of that method in `EmailInputType::attributeChanged` 
has
    always been inappropriate, as it is specifically meant for user 
modifications.
    However, in this case, the problem arises from the fact that 
`setValueFromRenderer`
    calls `setFormControlValueMatchesRenderer(true)`. This results in the 
elision
    of shadow tree construction in `TextFieldInputType::updateInnerTextValue`, 
as
    `HTMLTextFormControlElement::setInnerTextValue` is only called if
    `formControlValueMatchesRenderer()` returns false. Before 273461@main, this 
elision
    was benign, as the shadow tree was constructed at attribute parse time.

    Fix by using a more appropriate method to update the email input's value 
when
    the multiple attribute is changed.

    A new regression test is added. The coverage for the issue fixed by 
263555@main
    continues to be provided by the WPT: 
html/semantics/forms/the-input-element/email.html.

    * 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set-expected.html:
 Added.
    * 
LayoutTests/fast/forms/email-input-type-value-and-multiple-attributes-set.html: 
Added.
    * Source/WebCore/html/EmailInputType.cpp:
    (WebCore::EmailInputType::attributeChanged):

    Canonical link: https://commits.webkit.org/276895@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to