Jelajahi Sumber

LibWeb: Respect the <input size> attribute a bit more :^)

We now use the size attribute to determine the width of a text input.
Andreas Kling 5 tahun lalu
induk
melakukan
9df71afdb3
1 mengubah file dengan 7 tambahan dan 0 penghapusan
  1. 7 0
      Libraries/LibWeb/DOM/HTMLInputElement.cpp

+ 7 - 0
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;
     }