From 22325dd63ed340c591deffdb4889c2cd53368a32 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 4 Jan 2021 22:32:34 +0100 Subject: [PATCH] LibWeb: Don't careleslly insert inline-level boxes into inline-blocks Just because an inline-block is inline doesn't mean it's ready to accept random inline children. If it's a block, we may need to create an anonymous wrapper first. Fixes #4604. --- Libraries/LibWeb/Layout/TreeBuilder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Libraries/LibWeb/Layout/TreeBuilder.cpp index 6ab00f549f..2f3831f58d 100644 --- a/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -54,7 +54,7 @@ static NonnullRefPtr style_for_anonymous_block(Node& paren static Layout::Node& insertion_parent_for_inline_node(Layout::Node& layout_parent, Layout::Node& layout_node) { - if (layout_parent.is_inline()) + if (layout_parent.is_inline() && !layout_parent.is_inline_block()) return layout_parent; if (!layout_parent.has_children() || layout_parent.children_are_inline())