diff --git a/Ladybird/Qt/AutoComplete.cpp b/Ladybird/Qt/AutoComplete.cpp index a7e52d271e..4afd9299b0 100644 --- a/Ladybird/Qt/AutoComplete.cpp +++ b/Ladybird/Qt/AutoComplete.cpp @@ -121,10 +121,10 @@ ErrorOr AutoComplete::got_network_response(QNetworkReply* reply) return Error::from_string_view("Invalid engine name"sv); } -ErrorOr AutoComplete::auto_complete_url_from_query(StringView query) +String AutoComplete::auto_complete_url_from_query(StringView query) { - auto autocomplete_engine = TRY(ak_string_from_qstring(Settings::the()->autocomplete_engine().url)); - return autocomplete_engine.replace("{}"sv, AK::URL::percent_encode(query), ReplaceMode::FirstOnly); + auto autocomplete_engine = ak_string_from_qstring(Settings::the()->autocomplete_engine().url); + return MUST(autocomplete_engine.replace("{}"sv, AK::URL::percent_encode(query), ReplaceMode::FirstOnly)); } void AutoComplete::clear_suggestions() @@ -132,19 +132,17 @@ void AutoComplete::clear_suggestions() m_auto_complete_model->clear(); } -ErrorOr AutoComplete::get_search_suggestions(StringView search_string) +void AutoComplete::get_search_suggestions(String search_string) { - m_query = TRY(String::from_utf8(search_string)); + m_query = move(search_string); if (m_reply) m_reply->abort(); m_auto_complete_model->clear(); m_auto_complete_model->add(m_query); - QNetworkRequest request { QUrl(qstring_from_ak_string(TRY(auto_complete_url_from_query(m_query)))) }; + QNetworkRequest request { QUrl(qstring_from_ak_string(auto_complete_url_from_query(m_query))) }; m_reply = m_manager->get(request); - - return {}; } } diff --git a/Ladybird/Qt/AutoComplete.h b/Ladybird/Qt/AutoComplete.h index f8b779d99a..002f7ddfc1 100644 --- a/Ladybird/Qt/AutoComplete.h +++ b/Ladybird/Qt/AutoComplete.h @@ -48,6 +48,7 @@ public: private: AK::Vector m_suggestions; }; + class AutoComplete final : public QCompleter { Q_OBJECT @@ -59,14 +60,15 @@ public: return index.data(Qt::DisplayRole).toString(); } - ErrorOr get_search_suggestions(StringView); + void get_search_suggestions(String); void clear_suggestions(); - static ErrorOr auto_complete_url_from_query(StringView query); signals: void activated(QModelIndex const&); private: + static String auto_complete_url_from_query(StringView query); + ErrorOr got_network_response(QNetworkReply* reply); ErrorOr parse_google_autocomplete(Vector const&); diff --git a/Ladybird/Qt/LocationEdit.cpp b/Ladybird/Qt/LocationEdit.cpp index 9d679816da..fac2ba5fad 100644 --- a/Ladybird/Qt/LocationEdit.cpp +++ b/Ladybird/Qt/LocationEdit.cpp @@ -34,7 +34,7 @@ LocationEdit::LocationEdit(QWidget* parent) if (Settings::the()->enable_search()) search_engine_url = Settings::the()->search_engine().query_url; - auto query = MUST(ak_string_from_qstring(text())); + auto query = ak_string_from_qstring(text()); if (auto url = WebView::sanitize_url(query, search_engine_url); url.has_value()) setText(qstring_from_ak_string(url->serialize())); @@ -48,12 +48,7 @@ LocationEdit::LocationEdit(QWidget* parent) auto cursor_position = cursorPosition(); - auto result = m_autocomplete->get_search_suggestions(ak_deprecated_string_from_qstring(text())); - if (result.is_error()) { - dbgln("LocationEdit::textEdited: get_search_suggestions failed: {}", result.error()); - return; - } - + m_autocomplete->get_search_suggestions(ak_string_from_qstring(text())); setCursorPosition(cursor_position); }); @@ -75,7 +70,7 @@ void LocationEdit::focusOutEvent(QFocusEvent* event) void LocationEdit::highlight_location() { - auto url = MUST(ak_string_from_qstring(text())); + auto url = ak_string_from_qstring(text()); QList attributes; if (auto url_parts = WebView::break_url_into_parts(url); url_parts.has_value()) { diff --git a/Ladybird/Qt/Settings.cpp b/Ladybird/Qt/Settings.cpp index 3f41028f44..704a1c472e 100644 --- a/Ladybird/Qt/Settings.cpp +++ b/Ladybird/Qt/Settings.cpp @@ -20,7 +20,7 @@ Settings::Settings() auto default_search_engine_name = qstring_from_ak_string(default_search_engine.name); auto search_engine_name = m_qsettings->value("search_engine_name", default_search_engine_name).toString(); - auto search_engine = WebView::find_search_engine_by_name(MUST(ak_string_from_qstring(search_engine_name))); + auto search_engine = WebView::find_search_engine_by_name(ak_string_from_qstring(search_engine_name)); if (search_engine.has_value()) m_search_engine = search_engine.release_value(); diff --git a/Ladybird/Qt/SettingsDialog.cpp b/Ladybird/Qt/SettingsDialog.cpp index 7a55b8d0ba..6d383cf434 100644 --- a/Ladybird/Qt/SettingsDialog.cpp +++ b/Ladybird/Qt/SettingsDialog.cpp @@ -37,11 +37,11 @@ SettingsDialog::SettingsDialog(QMainWindow* window) m_new_tab_page = make(this); m_new_tab_page->setText(Settings::the()->new_tab_page()); QObject::connect(m_new_tab_page, &QLineEdit::textChanged, this, [this] { - auto url_string = MUST(ak_string_from_qstring(m_new_tab_page->text())); + auto url_string = ak_string_from_qstring(m_new_tab_page->text()); m_new_tab_page->setStyleSheet(URL(url_string).is_valid() ? "" : "border: 1px solid red;"); }); QObject::connect(m_new_tab_page, &QLineEdit::editingFinished, this, [this] { - auto url_string = MUST(ak_string_from_qstring(m_new_tab_page->text())); + auto url_string = ak_string_from_qstring(m_new_tab_page->text()); if (URL(url_string).is_valid()) Settings::the()->set_new_tab_page(m_new_tab_page->text()); }); diff --git a/Ladybird/Qt/StringUtils.cpp b/Ladybird/Qt/StringUtils.cpp index 1b2bdfcb36..56f9725d4a 100644 --- a/Ladybird/Qt/StringUtils.cpp +++ b/Ladybird/Qt/StringUtils.cpp @@ -11,10 +11,10 @@ AK::DeprecatedString ak_deprecated_string_from_qstring(QString const& qstring) return AK::DeprecatedString(qstring.toUtf8().data()); } -ErrorOr ak_string_from_qstring(QString const& qstring) +String ak_string_from_qstring(QString const& qstring) { auto utf8_data = qstring.toUtf8(); - return String::from_utf8(StringView(utf8_data.data(), utf8_data.size())); + return MUST(String::from_utf8(StringView(utf8_data.data(), utf8_data.size()))); } QString qstring_from_ak_string(StringView ak_string) diff --git a/Ladybird/Qt/StringUtils.h b/Ladybird/Qt/StringUtils.h index a605be63cf..d04b1298c0 100644 --- a/Ladybird/Qt/StringUtils.h +++ b/Ladybird/Qt/StringUtils.h @@ -13,5 +13,5 @@ #include AK::DeprecatedString ak_deprecated_string_from_qstring(QString const&); -ErrorOr ak_string_from_qstring(QString const&); +String ak_string_from_qstring(QString const&); QString qstring_from_ak_string(StringView); diff --git a/Ladybird/Qt/Tab.cpp b/Ladybird/Qt/Tab.cpp index 44cb67be95..badbf25068 100644 --- a/Ladybird/Qt/Tab.cpp +++ b/Ladybird/Qt/Tab.cpp @@ -189,7 +189,7 @@ Tab::Tab(BrowserWindow* window, WebContentOptions const& web_content_options, St dialog.setTextValue(qstring_from_ak_string(default_)); if (dialog.exec() == QDialog::Accepted) - view().prompt_closed(ak_string_from_qstring(dialog.textValue()).release_value_but_fixme_should_propagate_errors()); + view().prompt_closed(ak_string_from_qstring(dialog.textValue())); else view().prompt_closed({}); @@ -295,7 +295,7 @@ Tab::Tab(BrowserWindow* window, WebContentOptions const& web_content_options, St take_visible_screenshot_action->setIcon(load_icon_from_uri("resource://icons/16x16/filetype-image.png"sv)); QObject::connect(take_visible_screenshot_action, &QAction::triggered, this, [this]() { if (auto result = view().take_screenshot(WebView::ViewImplementation::ScreenshotType::Visible); result.is_error()) { - auto error = String::formatted("{}", result.error()).release_value_but_fixme_should_propagate_errors(); + auto error = MUST(String::formatted("{}", result.error())); QMessageBox::warning(this, "Ladybird", qstring_from_ak_string(error)); } }); @@ -304,7 +304,7 @@ Tab::Tab(BrowserWindow* window, WebContentOptions const& web_content_options, St take_full_screenshot_action->setIcon(load_icon_from_uri("resource://icons/16x16/filetype-image.png"sv)); QObject::connect(take_full_screenshot_action, &QAction::triggered, this, [this]() { if (auto result = view().take_screenshot(WebView::ViewImplementation::ScreenshotType::Full); result.is_error()) { - auto error = String::formatted("{}", result.error()).release_value_but_fixme_should_propagate_errors(); + auto error = MUST(String::formatted("{}", result.error())); QMessageBox::warning(this, "Ladybird", qstring_from_ak_string(error)); } }); @@ -577,7 +577,7 @@ void Tab::focus_location_editor() void Tab::navigate(QString const& url_qstring) { - auto url_string = MUST(ak_string_from_qstring(url_qstring)); + auto url_string = ak_string_from_qstring(url_qstring); view().load(url_string); } diff --git a/Ladybird/Qt/WebSocketImplQt.cpp b/Ladybird/Qt/WebSocketImplQt.cpp index 31ba1d8add..e73ea7473c 100644 --- a/Ladybird/Qt/WebSocketImplQt.cpp +++ b/Ladybird/Qt/WebSocketImplQt.cpp @@ -53,7 +53,7 @@ void WebSocketImplQt::connect(WebSocket::ConnectionInfo const& connection_info) if (connection_info.is_secure()) { auto ssl_socket = make(); ssl_socket->connectToHostEncrypted( - qstring_from_ak_string(connection_info.url().serialized_host().release_value_but_fixme_should_propagate_errors()), + qstring_from_ak_string(MUST(connection_info.url().serialized_host())), connection_info.url().port_or_default()); QObject::connect(ssl_socket.ptr(), &QSslSocket::alertReceived, [this](QSsl::AlertLevel level, QSsl::AlertType, QString const&) { if (level == QSsl::AlertLevel::Fatal) @@ -63,7 +63,7 @@ void WebSocketImplQt::connect(WebSocket::ConnectionInfo const& connection_info) } else { m_socket = make(); m_socket->connectToHost( - qstring_from_ak_string(connection_info.url().serialized_host().release_value_but_fixme_should_propagate_errors()), + qstring_from_ak_string(MUST(connection_info.url().serialized_host())), connection_info.url().port_or_default()); } diff --git a/Ladybird/Qt/main.cpp b/Ladybird/Qt/main.cpp index 1ee9ef3eb1..5877e127e0 100644 --- a/Ladybird/Qt/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -72,7 +72,7 @@ public: break; auto const& open_event = *static_cast(event); - auto file = MUST(ak_string_from_qstring(open_event.file())); + auto file = ak_string_from_qstring(open_event.file()); if (auto file_url = WebView::sanitize_url(file); file_url.has_value()) on_open_file(file_url.release_value()); @@ -137,7 +137,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (initial_urls.is_empty()) { auto new_tab_page = Ladybird::Settings::the()->new_tab_page(); - initial_urls.append(MUST(ak_string_from_qstring(new_tab_page))); + initial_urls.append(ak_string_from_qstring(new_tab_page)); } Ladybird::WebContentOptions web_content_options {