mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:48:11 +00:00
LibWeb: Only call page_did_change_title() from main frame
Otherwise an embedded iframe will override the page title in the browser, for example.
This commit is contained in:
parent
ae95ed5ddd
commit
c183ebc723
3 changed files with 9 additions and 5 deletions
|
@ -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())
|
||||
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& frame)
|
||||
|
|
|
@ -42,8 +42,10 @@ HTMLTitleElement::~HTMLTitleElement()
|
|||
void HTMLTitleElement::children_changed()
|
||||
{
|
||||
HTMLElement::children_changed();
|
||||
if (auto* page = document().page())
|
||||
if (auto* page = document().page()) {
|
||||
if (document().frame() == &page->main_frame())
|
||||
page->client().page_did_change_title(document().title());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue