Browser+Ladybird+LibWebView: Consolidate title handling in LibWebView

Namely, let's have empty titles behave the same in both Browser and
Ladybird (display the URL).
This commit is contained in:
Timothy Flynn 2023-06-07 16:37:30 -04:00 committed by Andreas Kling
parent f2a28e83de
commit 5a3825b561
3 changed files with 13 additions and 18 deletions

View file

@ -516,15 +516,9 @@ int BrowserWindow::tab_index(Tab* tab)
void BrowserWindow::tab_title_changed(int index, QString const& title)
{
if (title.isEmpty()) {
m_tabs_container->setTabText(index, "...");
if (m_tabs_container->currentIndex() == index)
setWindowTitle("Ladybird");
} else {
m_tabs_container->setTabText(index, title);
if (m_tabs_container->currentIndex() == index)
setWindowTitle(QString("%1 - Ladybird").arg(title));
}
m_tabs_container->setTabText(index, title);
if (m_tabs_container->currentIndex() == index)
setWindowTitle(QString("%1 - Ladybird").arg(title));
}
void BrowserWindow::tab_favicon_changed(int index, QIcon icon)

View file

@ -428,14 +428,10 @@ Tab::Tab(BrowserWindow& window)
view().on_link_click(href, "_blank", 0);
};
view().on_title_change = [this](auto& title) {
if (title.is_null()) {
m_history.update_title(url().to_deprecated_string());
m_title = url().to_deprecated_string();
} else {
m_history.update_title(title);
m_title = title;
}
view().on_title_change = [this](auto const& title) {
m_history.update_title(title);
m_title = title;
if (on_title_change)
on_title_change(m_title);
};

View file

@ -95,7 +95,12 @@ void WebContentClient::did_change_title(DeprecatedString const& title)
{
dbgln_if(SPAM_DEBUG, "handle: WebContentClient::DidChangeTitle! title={}", title);
if (m_view.on_title_change)
if (!m_view.on_title_change)
return;
if (title.is_empty())
m_view.on_title_change(m_view.url().to_deprecated_string());
else
m_view.on_title_change(title);
}