Browse Source

LibWeb: Invalidate layout on BrowsingContext resize

Even if style didn't change, we still need to force a layout, since the
initial containing block depends on the viewport size.
Andreas Kling 3 năm trước cách đây
mục cha
commit
1ac0116688
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp

+ 2 - 1
Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
+ * Copyright (c) 2018-2022, Andreas Kling <kling@serenityos.org>
  *
  * SPDX-License-Identifier: BSD-2-Clause
  */
@@ -101,6 +101,7 @@ void BrowsingContext::set_viewport_rect(Gfx::IntRect const& rect)
         if (auto* document = active_document()) {
             // NOTE: Resizing the viewport changes the reference value for viewport-relative CSS lengths.
             document->invalidate_style();
+            document->invalidate_layout();
         }
         did_change = true;
     }