diff --git a/Libraries/LibWebView/SearchEngine.cpp b/Libraries/LibWebView/SearchEngine.cpp index 65fae843f51..767f84a7c3d 100644 --- a/Libraries/LibWebView/SearchEngine.cpp +++ b/Libraries/LibWebView/SearchEngine.cpp @@ -1,34 +1,33 @@ /* - * Copyright (c) 2023, Tim Flynn + * Copyright (c) 2023-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #include -#include #include namespace WebView { -static constexpr auto builtin_search_engines = Array { - SearchEngine { "Bing"sv, "https://www.bing.com/search?q={}"sv }, - SearchEngine { "Brave"sv, "https://search.brave.com/search?q={}"sv }, - SearchEngine { "DuckDuckGo"sv, "https://duckduckgo.com/?q={}"sv }, - SearchEngine { "Ecosia"sv, "https://ecosia.org/search?q={}"sv }, - SearchEngine { "Google"sv, "https://www.google.com/search?q={}"sv }, - SearchEngine { "Kagi"sv, "https://kagi.com/search?q={}"sv }, - SearchEngine { "Mojeek"sv, "https://www.mojeek.com/search?q={}"sv }, - SearchEngine { "Startpage"sv, "https://startpage.com/search?q={}"sv }, - SearchEngine { "Yahoo"sv, "https://search.yahoo.com/search?p={}"sv }, - SearchEngine { "Yandex"sv, "https://yandex.com/search/?text={}"sv }, -}; +static auto builtin_search_engines = to_array({ + { "Bing"_string, "https://www.bing.com/search?q={}"_string }, + { "Brave"_string, "https://search.brave.com/search?q={}"_string }, + { "DuckDuckGo"_string, "https://duckduckgo.com/?q={}"_string }, + { "Ecosia"_string, "https://ecosia.org/search?q={}"_string }, + { "Google"_string, "https://www.google.com/search?q={}"_string }, + { "Kagi"_string, "https://kagi.com/search?q={}"_string }, + { "Mojeek"_string, "https://www.mojeek.com/search?q={}"_string }, + { "Startpage"_string, "https://startpage.com/search?q={}"_string }, + { "Yahoo"_string, "https://search.yahoo.com/search?p={}"_string }, + { "Yandex"_string, "https://yandex.com/search/?text={}"_string }, +}); ReadonlySpan search_engines() { return builtin_search_engines; } -Optional find_search_engine_by_name(StringView name) +Optional find_search_engine_by_name(StringView name) { return find_value(builtin_search_engines, [&](auto const& engine) { return engine.name == name; diff --git a/Libraries/LibWebView/SearchEngine.h b/Libraries/LibWebView/SearchEngine.h index fa5b84b1c44..225fb6182cc 100644 --- a/Libraries/LibWebView/SearchEngine.h +++ b/Libraries/LibWebView/SearchEngine.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Tim Flynn + * Copyright (c) 2023-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ @@ -7,17 +7,18 @@ #pragma once #include +#include #include namespace WebView { struct SearchEngine { - StringView name; - StringView query_url; + String name; + String query_url; }; ReadonlySpan search_engines(); -Optional find_search_engine_by_name(StringView name); +Optional find_search_engine_by_name(StringView name); Optional find_search_engine_by_query_url(StringView query_url); String format_search_query_for_display(StringView query_url, StringView query);