diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 2bb381b152..fc6dc43007 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -287,8 +287,10 @@ void Document::set_title(const String& title) title_element->append_child(adopt(*new Text(*this, title))); - if (auto* page = this->page()) - page->client().page_did_change_title(title); + if (auto* page = this->page()) { + if (frame() == &page->main_frame()) + page->client().page_did_change_title(title); + } } void Document::attach_to_frame(Badge, Frame& frame) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp index 426721c124..d0783d404e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp @@ -42,8 +42,10 @@ HTMLTitleElement::~HTMLTitleElement() void HTMLTitleElement::children_changed() { HTMLElement::children_changed(); - if (auto* page = document().page()) - page->client().page_did_change_title(document().title()); + if (auto* page = document().page()) { + if (document().frame() == &page->main_frame()) + page->client().page_did_change_title(document().title()); + } } } diff --git a/Userland/Libraries/LibWeb/Page/Frame.cpp b/Userland/Libraries/LibWeb/Page/Frame.cpp index 658694aab8..b0c40a77c0 100644 --- a/Userland/Libraries/LibWeb/Page/Frame.cpp +++ b/Userland/Libraries/LibWeb/Page/Frame.cpp @@ -102,7 +102,7 @@ void Frame::set_document(DOM::Document* document) if (m_document) { m_document->attach_to_frame({}, *this); - if (m_page) + if (m_page && is_main_frame()) m_page->client().page_did_change_title(m_document->title()); }