mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-28 07:18:51 +00:00
LibWeb/HTML: Use default input size (20) when value is 0
According to the HTML specification, the `size` attribute of an input element must be a valid non-negative integer greater than zero. If the value is invalid or set to `0`, the default size of `20` should be used. This small change fixes one issue identified in https://wpt.live/html/rendering/widgets/input-text-size.html The WPT test suite was also automatically imported.
This commit is contained in:
parent
58828ffd62
commit
2f51e9a98e
Notes:
github-actions[bot]
2024-11-26 10:02:56 +00:00
Author: https://github.com/khaledev
Commit: 2f51e9a98e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2580
Reviewed-by: https://github.com/gmta ✅
Reviewed-by: https://github.com/tcl3
3 changed files with 63 additions and 1 deletions
|
@ -1863,9 +1863,10 @@ WebIDL::ExceptionOr<void> HTMLInputElement::set_min_length(WebIDL::Long value)
|
|||
// https://html.spec.whatwg.org/multipage/input.html#the-size-attribute
|
||||
unsigned HTMLInputElement::size() const
|
||||
{
|
||||
// The size attribute, if specified, must have a value that is a valid non-negative integer greater than zero.
|
||||
// The size IDL attribute is limited to only positive numbers and has a default value of 20.
|
||||
if (auto size_string = get_attribute(HTML::AttributeNames::size); size_string.has_value()) {
|
||||
if (auto size = parse_non_negative_integer(*size_string); size.has_value())
|
||||
if (auto size = parse_non_negative_integer(*size_string); size.has_value() && size.value() != 0)
|
||||
return *size;
|
||||
}
|
||||
return 20;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue