diff --git a/Libraries/LibWeb/HTML/HTMLTitleElement.cpp b/Libraries/LibWeb/HTML/HTMLTitleElement.cpp
index 277448b08a..a1404dfe9e 100644
--- a/Libraries/LibWeb/HTML/HTMLTitleElement.cpp
+++ b/Libraries/LibWeb/HTML/HTMLTitleElement.cpp
@@ -24,7 +24,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include
#include
+#include
namespace Web::HTML {
@@ -37,4 +39,11 @@ HTMLTitleElement::~HTMLTitleElement()
{
}
+void HTMLTitleElement::children_changed()
+{
+ HTMLElement::children_changed();
+ if (auto* page = document().page())
+ page->client().page_did_change_title(document().title());
+}
+
}
diff --git a/Libraries/LibWeb/HTML/HTMLTitleElement.h b/Libraries/LibWeb/HTML/HTMLTitleElement.h
index 7250998040..a619a1fe45 100644
--- a/Libraries/LibWeb/HTML/HTMLTitleElement.h
+++ b/Libraries/LibWeb/HTML/HTMLTitleElement.h
@@ -36,6 +36,9 @@ public:
HTMLTitleElement(DOM::Document&, const QualifiedName& qualified_name);
virtual ~HTMLTitleElement() override;
+
+private:
+ virtual void children_changed() override;
};
}