From ae3e0d97b5da8d276290f633d4d46221719d4f06 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 20 Oct 2023 10:33:31 -0400 Subject: [PATCH] LibWebView: Wrap retrieving public suffix data in a helper This lets outside callers use this API but primarily is to fix the build when the ENABLE_PUBLIC_SUFFIX_DOWNLOAD CMake option is disabled. --- Userland/Libraries/LibWebView/URL.cpp | 13 +++++++++---- Userland/Libraries/LibWebView/URL.h | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWebView/URL.cpp b/Userland/Libraries/LibWebView/URL.cpp index a210f0fc57..0d0602172e 100644 --- a/Userland/Libraries/LibWebView/URL.cpp +++ b/Userland/Libraries/LibWebView/URL.cpp @@ -26,7 +26,6 @@ static Optional query_public_suffix_list(StringView url_string) if (!url.is_valid()) return {}; -#if defined(ENABLE_PUBLIC_SUFFIX) if (url.host().has() || url.host().has()) return url; @@ -36,7 +35,7 @@ static Optional query_public_suffix_list(StringView url_string) if (url.host().has()) { auto const& host = url.host().get(); - if (auto public_suffix = MUST(PublicSuffixData::the()->get_public_suffix(host)); public_suffix.has_value()) + if (auto public_suffix = get_public_suffix(host); public_suffix.has_value()) return url; if (host.ends_with_bytes(".local"sv) || host.ends_with_bytes("localhost"sv)) @@ -44,8 +43,14 @@ static Optional query_public_suffix_list(StringView url_string) } return {}; +} + +Optional get_public_suffix([[maybe_unused]] StringView host) +{ +#if defined(ENABLE_PUBLIC_SUFFIX) + return MUST(PublicSuffixData::the()->get_public_suffix(host)); #else - return url; + return {}; #endif } @@ -95,7 +100,7 @@ static URLParts break_web_url_into_parts(URL const& url, StringView url_string) { auto host = MUST(url.serialized_host()); - auto public_suffix = MUST(PublicSuffixData::the()->get_public_suffix(host)); + auto public_suffix = get_public_suffix(host); if (!public_suffix.has_value()) return {}; diff --git a/Userland/Libraries/LibWebView/URL.h b/Userland/Libraries/LibWebView/URL.h index fe5e36c6df..6562c4f5d9 100644 --- a/Userland/Libraries/LibWebView/URL.h +++ b/Userland/Libraries/LibWebView/URL.h @@ -12,6 +12,8 @@ namespace WebView { +Optional get_public_suffix(StringView host); + enum class AppendTLD { No, Yes,