diff options
author | Andreas Kling <kling@serenityos.org> | 2020-05-04 22:43:00 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-05-04 22:43:00 +0200 |
commit | 9df71afdb3e751b853b6b36ef15f776bb78e964b (patch) | |
tree | d964a358ea6366c8cd8cef2b4daf2ee09d4bd985 | |
parent | 0d2beddc74ebf67cb501a1131351401efb6942ac (diff) | |
download | serenity-9df71afdb3e751b853b6b36ef15f776bb78e964b.zip |
LibWeb: Respect the <input size> attribute a bit more :^)
We now use the size attribute to determine the width of a text input.
-rw-r--r-- | Libraries/LibWeb/DOM/HTMLInputElement.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Libraries/LibWeb/DOM/HTMLInputElement.cpp b/Libraries/LibWeb/DOM/HTMLInputElement.cpp index 34be76773f..66e58b036e 100644 --- a/Libraries/LibWeb/DOM/HTMLInputElement.cpp +++ b/Libraries/LibWeb/DOM/HTMLInputElement.cpp @@ -75,6 +75,13 @@ RefPtr<LayoutNode> HTMLInputElement::create_layout_node(const StyleProperties*) const_cast<HTMLInputElement*>(this)->set_attribute("value", static_cast<const GUI::TextBox&>(widget).text()); }; int text_width = Gfx::Font::default_font().width(value()); + auto size_value = attribute("size"); + if (!size_value.is_null()) { + bool ok; + auto size = size_value.to_int(ok); + if (ok && size >= 0) + text_width = Gfx::Font::default_font().glyph_width('x') * size; + } text_box.set_relative_rect(0, 0, text_width + 20, 20); widget = text_box; } |