From 0f495421f1d64e7255e2e6d4b7ed9193ae6f40b6 Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Sat, 22 Feb 2025 21:23:29 +1300 Subject: [PATCH] UI/AppKit: Do not rely on the implicit URL constructors --- UI/AppKit/Interface/LadybirdWebView.mm | 7 +++++-- UI/AppKit/main.mm | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/UI/AppKit/Interface/LadybirdWebView.mm b/UI/AppKit/Interface/LadybirdWebView.mm index 860de3a21b6..95aefa95ba7 100644 --- a/UI/AppKit/Interface/LadybirdWebView.mm +++ b/UI/AppKit/Interface/LadybirdWebView.mm @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -1138,8 +1139,10 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ { auto* delegate = (ApplicationDelegate*)[NSApp delegate]; - auto url = MUST(String::formatted([delegate searchEngine].query_url, URL::percent_encode(*m_context_menu_search_text))); - [self.observer onCreateNewTab:url activateTab:Web::HTML::ActivateTab::Yes]; + auto url_string = MUST(String::formatted([delegate searchEngine].query_url, URL::percent_encode(*m_context_menu_search_text))); + auto url = URL::Parser::basic_parse(url_string); + VERIFY(url.has_value()); + [self.observer onCreateNewTab:url.release_value() activateTab:Web::HTML::ActivateTab::Yes]; } - (void)takeVisibleScreenshot:(id)sender diff --git a/UI/AppKit/main.mm b/UI/AppKit/main.mm index 08b44d2ae5c..d5523fea2e6 100644 --- a/UI/AppKit/main.mm +++ b/UI/AppKit/main.mm @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -49,7 +50,9 @@ ErrorOr serenity_main(Main::Arguments arguments) Application* application = [Application sharedApplication]; Core::EventLoopManager::install(*new WebView::EventLoopManagerMacOS); - [application setupWebViewApplication:arguments newTabPageURL:Browser::default_new_tab_url]; + auto url = URL::Parser::basic_parse(Browser::default_new_tab_url); + VERIFY(url.has_value()); + [application setupWebViewApplication:arguments newTabPageURL:url.release_value()]; WebView::platform_init();