/* * Copyright (c) 2023, Cameron Youell * Copyright (c) 2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace WebView { struct AutocompleteEngine { StringView name; StringView query_url; }; ReadonlySpan autocomplete_engines(); Optional find_autocomplete_engine_by_name(StringView name); class Autocomplete { public: Autocomplete(); ~Autocomplete(); Function)> on_autocomplete_query_complete; void query_autocomplete_engine(String); private: static ErrorOr> received_autocomplete_respsonse(AutocompleteEngine const&, Optional content_type, StringView response); void invoke_autocomplete_query_complete(Vector suggestions) const; String m_query; RefPtr m_request; }; }