From 9bdd8ec3f330437a621686ce0b4f01586bcaac4d Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 14 Aug 2020 11:45:46 +0200 Subject: [PATCH] LibWeb: Don't paint a text cursor in unfocused frames --- Libraries/LibWeb/Layout/LayoutText.cpp | 3 +++ Libraries/LibWeb/Page/Frame.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Libraries/LibWeb/Layout/LayoutText.cpp b/Libraries/LibWeb/Layout/LayoutText.cpp index 64d89313ea..654786b0a9 100644 --- a/Libraries/LibWeb/Layout/LayoutText.cpp +++ b/Libraries/LibWeb/Layout/LayoutText.cpp @@ -108,6 +108,9 @@ void LayoutText::paint_fragment(PaintContext& context, const LineBoxFragment& fr void LayoutText::paint_cursor_if_needed(PaintContext& context, const LineBoxFragment& fragment) const { + if (!frame().is_focused_frame()) + return; + if (!frame().cursor_blink_state()) return; diff --git a/Libraries/LibWeb/Page/Frame.cpp b/Libraries/LibWeb/Page/Frame.cpp index f6726476ab..9d4225bc43 100644 --- a/Libraries/LibWeb/Page/Frame.cpp +++ b/Libraries/LibWeb/Page/Frame.cpp @@ -61,6 +61,8 @@ Frame::~Frame() void Frame::setup() { m_cursor_blink_timer = Core::Timer::construct(500, [this] { + if (!is_focused_frame()) + return; if (m_cursor_position.node() && m_cursor_position.node()->layout_node()) { m_cursor_blink_state = !m_cursor_blink_state; m_cursor_position.node()->layout_node()->set_needs_display();