diff --git a/Ladybird/Qt/BrowserWindow.cpp b/Ladybird/Qt/BrowserWindow.cpp index 625cf1bf4a..ea19770026 100644 --- a/Ladybird/Qt/BrowserWindow.cpp +++ b/Ladybird/Qt/BrowserWindow.cpp @@ -40,7 +40,7 @@ static QIcon const& app_icon() return icon; } -BrowserWindow::BrowserWindow(Browser::CookieJar& cookie_jar, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling enable_callgrind_profiling, UseLagomNetworking use_lagom_networking) +BrowserWindow::BrowserWindow(Optional const& initial_url, Browser::CookieJar& cookie_jar, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling enable_callgrind_profiling, UseLagomNetworking use_lagom_networking) : m_cookie_jar(cookie_jar) , m_webdriver_content_ipc_path(webdriver_content_ipc_path) , m_enable_callgrind_profiling(enable_callgrind_profiling) @@ -397,7 +397,12 @@ BrowserWindow::BrowserWindow(Browser::CookieJar& cookie_jar, StringView webdrive m_go_back_action->setEnabled(false); m_go_forward_action->setEnabled(false); - new_tab(s_settings->new_tab_page(), Web::HTML::ActivateTab::Yes); + if (initial_url.has_value()) { + auto initial_url_string = qstring_from_ak_deprecated_string(initial_url->serialize()); + new_tab(initial_url_string, Web::HTML::ActivateTab::Yes); + } else { + new_tab(s_settings->new_tab_page(), Web::HTML::ActivateTab::Yes); + } setCentralWidget(m_tabs_container); setContextMenuPolicy(Qt::PreventContextMenu); diff --git a/Ladybird/Qt/BrowserWindow.h b/Ladybird/Qt/BrowserWindow.h index 6977eae8b9..9f27424761 100644 --- a/Ladybird/Qt/BrowserWindow.h +++ b/Ladybird/Qt/BrowserWindow.h @@ -28,7 +28,7 @@ class WebContentView; class BrowserWindow : public QMainWindow { Q_OBJECT public: - explicit BrowserWindow(Browser::CookieJar&, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling, UseLagomNetworking); + explicit BrowserWindow(Optional const& initial_url, Browser::CookieJar&, StringView webdriver_content_ipc_path, WebView::EnableCallgrindProfiling, UseLagomNetworking); WebContentView& view() const { return m_current_tab->view(); } diff --git a/Ladybird/Qt/main.cpp b/Ladybird/Qt/main.cpp index 7e206f1db6..c72720bffa 100644 --- a/Ladybird/Qt/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -107,17 +107,15 @@ ErrorOr serenity_main(Main::Arguments arguments) auto cookie_jar = database ? TRY(Browser::CookieJar::create(*database)) : Browser::CookieJar::create(); + Optional initial_url; + if (auto url = TRY(get_formatted_url(raw_url)); url.is_valid()) + initial_url = move(url); + Ladybird::s_settings = adopt_own_if_nonnull(new Ladybird::Settings()); - Ladybird::BrowserWindow window(cookie_jar, webdriver_content_ipc_path, enable_callgrind_profiling ? WebView::EnableCallgrindProfiling::Yes : WebView::EnableCallgrindProfiling::No, use_lagom_networking ? Ladybird::UseLagomNetworking::Yes : Ladybird::UseLagomNetworking::No); + Ladybird::BrowserWindow window(initial_url, cookie_jar, webdriver_content_ipc_path, enable_callgrind_profiling ? WebView::EnableCallgrindProfiling::Yes : WebView::EnableCallgrindProfiling::No, use_lagom_networking ? Ladybird::UseLagomNetworking::Yes : Ladybird::UseLagomNetworking::No); window.setWindowTitle("Ladybird"); window.resize(800, 600); window.show(); - if (auto url = TRY(get_formatted_url(raw_url)); url.is_valid()) { - window.view().load(url); - } else { - window.view().load("about:blank"sv); - } - return event_loop.exec(); }