From bca3c2a443333d7ec61c026cd580b0371e85dfca Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 9 Mar 2022 17:56:34 +0100 Subject: [PATCH] LibWeb: Always call update_style() in update_layout() If the style is dirty, update_style() may cause layout to become dirty. Therefore we must always update style when updating layout, to ensure up-to-date results. --- Userland/Libraries/LibWeb/DOM/Document.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index c3da23977e..99ffbf03a9 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -554,6 +554,8 @@ void Document::ensure_layout() void Document::update_layout() { + update_style(); + if (!m_needs_layout && m_layout_root) return; @@ -562,8 +564,6 @@ void Document::update_layout() auto viewport_rect = browsing_context()->viewport_rect(); - update_style(); - if (!m_layout_root) { Layout::TreeBuilder tree_builder; m_layout_root = static_ptr_cast(tree_builder.build(*this));