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

This commit is contained in:
Conrad Pankoff 2019-10-06 23:13:54 +11:00 committed by Andreas Kling
parent 1ef53be2f3
commit 5f6903a714
Notes: sideshowbarker 2024-07-19 11:47:25 +09:00

View file

@ -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());
}