diff options
Diffstat (limited to 'Userland/Libraries')
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/InlineNode.cpp | 13 | ||||
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/InlineNode.h | 1 |
2 files changed, 6 insertions, 8 deletions
diff --git a/Userland/Libraries/LibWeb/Layout/InlineNode.cpp b/Userland/Libraries/LibWeb/Layout/InlineNode.cpp index 0ef7b62d85..bc7a6c8a84 100644 --- a/Userland/Libraries/LibWeb/Layout/InlineNode.cpp +++ b/Userland/Libraries/LibWeb/Layout/InlineNode.cpp @@ -40,18 +40,17 @@ void InlineNode::split_into_lines(InlineFormattingContext& context, LayoutMode l } } -void InlineNode::paint_fragment(PaintContext& context, const LineBoxFragment& fragment, PaintPhase phase) const +void InlineNode::paint(PaintContext& context, PaintPhase phase) { auto& painter = context.painter(); if (phase == PaintPhase::Background) { - painter.fill_rect(enclosing_int_rect(fragment.absolute_rect()), computed_values().background_color()); + containing_block()->for_each_fragment([&](auto& fragment) { + if (is_inclusive_ancestor_of(fragment.layout_node())) + painter.fill_rect(enclosing_int_rect(fragment.absolute_rect()), computed_values().background_color()); + return IterationDecision::Continue; + }); } -} - -void InlineNode::paint(PaintContext& context, PaintPhase phase) -{ - auto& painter = context.painter(); if (phase == PaintPhase::Foreground && document().inspected_node() == dom_node()) { // FIXME: This paints a double-thick border between adjacent fragments, where ideally there diff --git a/Userland/Libraries/LibWeb/Layout/InlineNode.h b/Userland/Libraries/LibWeb/Layout/InlineNode.h index 5f6d4d4597..e2e39600f3 100644 --- a/Userland/Libraries/LibWeb/Layout/InlineNode.h +++ b/Userland/Libraries/LibWeb/Layout/InlineNode.h @@ -16,7 +16,6 @@ public: virtual ~InlineNode() override; virtual void paint(PaintContext&, PaintPhase) override; - virtual void paint_fragment(PaintContext&, const LineBoxFragment&, PaintPhase) const override; virtual void split_into_lines(InlineFormattingContext&, LayoutMode) override; }; |