summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/DOM
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibWeb/DOM')
-rw-r--r--Userland/Libraries/LibWeb/DOM/Document.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp
index 3d67b113c9..a08584cf67 100644
--- a/Userland/Libraries/LibWeb/DOM/Document.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Document.cpp
@@ -551,6 +551,11 @@ void Document::invalidate_layout()
void Document::update_layout()
{
+ // NOTE: If our parent document needs a relayout, we must do that *first*.
+ // This is necessary as the parent layout may cause our viewport to change.
+ if (browsing_context() && browsing_context()->container())
+ browsing_context()->container()->document().update_layout();
+
update_style();
if (!m_needs_layout && m_layout_root)