summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Libraries/LibHTML/Layout/LayoutImage.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/Libraries/LibHTML/Layout/LayoutImage.cpp b/Libraries/LibHTML/Layout/LayoutImage.cpp
index 2344afd713..f28401cf39 100644
--- a/Libraries/LibHTML/Layout/LayoutImage.cpp
+++ b/Libraries/LibHTML/Layout/LayoutImage.cpp
@@ -16,7 +16,10 @@ void LayoutImage::layout()
{
if (renders_as_alt_text()) {
auto& font = Font::default_font();
- rect().set_width(font.width(node().alt()) + 16);
+ auto alt = node().alt();
+ if (alt.is_empty())
+ alt = node().src();
+ rect().set_width(font.width(alt) + 16);
rect().set_height(font.glyph_height() + 16);
} else {
rect().set_width(node().bitmap()->width());
@@ -31,7 +34,10 @@ void LayoutImage::render(RenderingContext& context)
if (renders_as_alt_text()) {
context.painter().set_font(Font::default_font());
StylePainter::paint_frame(context.painter(), rect(), FrameShape::Container, FrameShadow::Sunken, 2);
- context.painter().draw_text(rect(), node().alt(), TextAlignment::Center, Color::White);
+ auto alt = node().alt();
+ if (alt.is_empty())
+ alt = node().src();
+ context.painter().draw_text(rect(), alt, TextAlignment::Center, Color::White);
} else {
context.painter().draw_scaled_bitmap(rect(), *node().bitmap(), node().bitmap()->rect());
}