diff --git a/Userland/Libraries/LibWeb/DOM/CharacterData.cpp b/Userland/Libraries/LibWeb/DOM/CharacterData.cpp index 60fb60ef7f..6a60493537 100644 --- a/Userland/Libraries/LibWeb/DOM/CharacterData.cpp +++ b/Userland/Libraries/LibWeb/DOM/CharacterData.cpp @@ -25,6 +25,7 @@ */ #include +#include namespace Web::DOM { @@ -38,4 +39,13 @@ CharacterData::~CharacterData() { } +void CharacterData::set_data(String data) +{ + if (m_data == data) + return; + m_data = move(data); + // FIXME: This is definitely too aggressive. + document().schedule_forced_layout(); +} + } diff --git a/Userland/Libraries/LibWeb/DOM/CharacterData.h b/Userland/Libraries/LibWeb/DOM/CharacterData.h index de09340e41..a061d6705a 100644 --- a/Userland/Libraries/LibWeb/DOM/CharacterData.h +++ b/Userland/Libraries/LibWeb/DOM/CharacterData.h @@ -41,7 +41,7 @@ public: virtual ~CharacterData() override; const String& data() const { return m_data; } - void set_data(const String& data) { m_data = data; } + void set_data(String); unsigned length() const { return m_data.length(); }