Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c1628ee675b75f07c8f727628d5fefeb5df200d7
      
https://github.com/WebKit/WebKit/commit/c1628ee675b75f07c8f727628d5fefeb5df200d7
  Author: Chris Dumez <[email protected]>
  Date:   2023-04-19 (Wed, 19 Apr 2023)

  Changed paths:
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/html/NumberInputType.cpp

  Log Message:
  -----------
  Early return in HTMLInputElement::attributeChanged() when the attribute value 
hasn't changed
https://bugs.webkit.org/show_bug.cgi?id=255617

Reviewed by Ryosuke Niwa.

Early return at the beginning of HTMLInputElement::attributeChanged() if the new
attribute value is the same as the old one. HTMLInputElements do not have 
special
handling when setting an attribute to the same value again so they can ignore 
this
case.

* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::attributeChanged):

* Source/WebCore/html/NumberInputType.cpp:
(WebCore::NumberInputType::attributeChanged):
Make sure we call setNeedsLayoutAndPrefWidthsRecalc() if the class attribute
changes. The bug was caught by fast/forms/number/number-size.html. We were
previously getting lucky. The test was changing the class attribute of a
number input element, then setting min/max attributes to the same value
and expecting the borders of the input element to change. It would previously
work because setting min/max would call setNeedsLayoutAndPrefWidthsRecalc()
even when set to the same value. However, what's really changing here
and requires a new layout is the class attribute.

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to