diff --git a/Libraries/LibWeb/DOM/Element.cpp b/Libraries/LibWeb/DOM/Element.cpp index fd3776adda8..816ec7e5a2e 100644 --- a/Libraries/LibWeb/DOM/Element.cpp +++ b/Libraries/LibWeb/DOM/Element.cpp @@ -267,7 +267,6 @@ void Element::set_inner_html(StringView markup) } set_needs_style_update(true); - document().schedule_style_update(); document().invalidate_layout(); } diff --git a/Libraries/LibWeb/DOM/Node.cpp b/Libraries/LibWeb/DOM/Node.cpp index f87cc07ac9e..00db6829e4c 100644 --- a/Libraries/LibWeb/DOM/Node.cpp +++ b/Libraries/LibWeb/DOM/Node.cpp @@ -102,7 +102,6 @@ void Node::set_text_content(const String& content) } set_needs_style_update(true); - document().schedule_style_update(); document().invalidate_layout(); } @@ -250,4 +249,13 @@ EventTarget* Node::get_parent(const Event&) return parent(); } +void Node::set_needs_style_update(bool value) +{ + if (m_needs_style_update == value) + return; + m_needs_style_update = value; + if (m_needs_style_update) + document().schedule_style_update(); +} + } diff --git a/Libraries/LibWeb/DOM/Node.h b/Libraries/LibWeb/DOM/Node.h index 677d823d99a..5409d05a669 100644 --- a/Libraries/LibWeb/DOM/Node.h +++ b/Libraries/LibWeb/DOM/Node.h @@ -138,7 +138,7 @@ public: virtual bool is_child_allowed(const Node&) const { return true; } bool needs_style_update() const { return m_needs_style_update; } - void set_needs_style_update(bool value) { m_needs_style_update = value; } + void set_needs_style_update(bool); void invalidate_style(); diff --git a/Libraries/LibWeb/HTML/HTMLElement.cpp b/Libraries/LibWeb/HTML/HTMLElement.cpp index 3ed31c72115..d0b590d541c 100644 --- a/Libraries/LibWeb/HTML/HTMLElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLElement.cpp @@ -105,7 +105,6 @@ void HTMLElement::set_inner_text(StringView text) append_child(document().create_text_node(text)); set_needs_style_update(true); - document().schedule_style_update(); document().invalidate_layout(); }