Kaynağa Gözat

LibHTML: Use image URL as alt text if alt is missing

Conrad Pankoff 5 yıl önce
ebeveyn
işleme
5f6903a714
1 değiştirilmiş dosya ile 8 ekleme ve 2 silme
  1. 8 2
      Libraries/LibHTML/Layout/LayoutImage.cpp

+ 8 - 2
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());
     }