/* * Copyright (c) 2023-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace WebView { enum class AppendTLD { No, Yes, }; WEBVIEW_API Optional sanitize_url(StringView, Optional const& search_engine = {}, AppendTLD = AppendTLD::No); WEBVIEW_API Vector sanitize_urls(ReadonlySpan raw_urls, URL::URL const& new_tab_page_url); struct URLParts { StringView scheme_and_subdomain; StringView effective_tld_plus_one; StringView remainder; }; WEBVIEW_API Optional break_url_into_parts(StringView url); // These are both used for the "right-click -> copy FOO" interaction for links. enum class URLType { Email, Telephone, Other, }; WEBVIEW_API URLType url_type(URL::URL const&); WEBVIEW_API ByteString url_text_to_copy(URL::URL const&); }