Selaa lähdekoodia

LibWeb: Honor "display:block" on IMG elements

Previously we forced all image elements to be inline-level. Now they can
participate in block layout if they prefer. :^)
Andreas Kling 3 vuotta sitten
vanhempi
commit
b1a6a8600a
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

+ 5 - 1
Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp

@@ -80,7 +80,11 @@ void HTMLImageElement::parse_attribute(FlyString const& name, String const& valu
 
 RefPtr<Layout::Node> HTMLImageElement::create_layout_node(NonnullRefPtr<CSS::StyleProperties> style)
 {
-    return adopt_ref(*new Layout::ImageBox(document(), *this, move(style), m_image_loader));
+    auto display = style->display();
+    auto layout_node = adopt_ref(*new Layout::ImageBox(document(), *this, move(style), m_image_loader));
+    if (display.is_block_outside())
+        layout_node->set_inline(false);
+    return layout_node;
 }
 
 Gfx::Bitmap const* HTMLImageElement::bitmap() const