Forráskód Böngészése

LibHTML: Add Document::force_layout()

..for when you really need a layout to happen right now.
Also, automatically repaint the layout root after layout.
Andreas Kling 5 éve
szülő
commit
98ff8ef0cf

+ 7 - 0
Libraries/LibHTML/DOM/Document.cpp

@@ -181,6 +181,12 @@ URL Document::complete_url(const String& string) const
     return url;
 }
 
+void Document::force_layout()
+{
+    m_layout_root = nullptr;
+    layout();
+}
+
 void Document::layout()
 {
     if (!m_layout_root) {
@@ -188,6 +194,7 @@ void Document::layout()
         m_layout_root = tree_builder.build(*this);
     }
     m_layout_root->layout();
+    m_layout_root->set_needs_display();
 }
 
 void Document::update_style()

+ 1 - 0
Libraries/LibHTML/DOM/Document.h

@@ -69,6 +69,7 @@ public:
     void set_visited_link_color(Color);
 
     void layout();
+    void force_layout();
 
     void update_style();
     void update_layout();