Selaa lähdekoodia

LibWeb: Support the hspace and vspace attributes on img elements

These map HTML dimension values to CSS margin values.
Andreas Kling 3 vuotta sitten
vanhempi
commit
0e806f58fe

+ 2 - 0
Userland/Libraries/LibWeb/HTML/AttributeNames.h

@@ -71,6 +71,7 @@ namespace AttributeNames {
     __ENUMERATE_HTML_ATTRIBUTE(hidden)                     \
     __ENUMERATE_HTML_ATTRIBUTE(href)                       \
     __ENUMERATE_HTML_ATTRIBUTE(hreflang)                   \
+    __ENUMERATE_HTML_ATTRIBUTE(hspace)                     \
     __ENUMERATE_HTML_ATTRIBUTE(http_equiv)                 \
     __ENUMERATE_HTML_ATTRIBUTE(id)                         \
     __ENUMERATE_HTML_ATTRIBUTE(imagesizes)                 \
@@ -200,6 +201,7 @@ namespace AttributeNames {
     __ENUMERATE_HTML_ATTRIBUTE(valuetype)                  \
     __ENUMERATE_HTML_ATTRIBUTE(version)                    \
     __ENUMERATE_HTML_ATTRIBUTE(vlink)                      \
+    __ENUMERATE_HTML_ATTRIBUTE(vspace)                     \
     __ENUMERATE_HTML_ATTRIBUTE(width)                      \
     __ENUMERATE_HTML_ATTRIBUTE(wrap)
 

+ 10 - 0
Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

@@ -55,6 +55,16 @@ void HTMLImageElement::apply_presentational_hints(CSS::StyleProperties& style) c
         } else if (name == HTML::AttributeNames::height) {
             if (auto parsed_value = parse_dimension_value(value))
                 style.set_property(CSS::PropertyID::Height, parsed_value.release_nonnull());
+        } else if (name == HTML::AttributeNames::hspace) {
+            if (auto parsed_value = parse_dimension_value(value)) {
+                style.set_property(CSS::PropertyID::MarginLeft, *parsed_value);
+                style.set_property(CSS::PropertyID::MarginRight, *parsed_value);
+            }
+        } else if (name == HTML::AttributeNames::vspace) {
+            if (auto parsed_value = parse_dimension_value(value)) {
+                style.set_property(CSS::PropertyID::MarginTop, *parsed_value);
+                style.set_property(CSS::PropertyID::MarginBottom, *parsed_value);
+            }
         }
     });
 }