LibURL: Promote Host to a proper class

This lets us move a few Host-related functions (like serialization and
checks for what the Host is) into Host instead of having them dotted
around the codebase.

For now, the interface is still very Variant-like, to avoid having to
change quite so much in one go.
This commit is contained in:
Sam Atkins 2024-11-27 15:12:17 +00:00 committed by Andreas Kling
commit 63688148b9
Notes: github-actions[bot] 2024-11-30 11:24:04 +00:00
14 changed files with 212 additions and 134 deletions

View file

@ -60,8 +60,6 @@ WebIDL::ExceptionOr<String> WorkerLocation::host() const
// https://html.spec.whatwg.org/multipage/workers.html#dom-workerlocation-hostname
WebIDL::ExceptionOr<String> WorkerLocation::hostname() const
{
auto& vm = realm().vm();
// The hostname getter steps are:
// 1. Let host be this's WorkerGlobalScope object's url's host.
auto const& host = m_global_scope->url().host();
@ -71,7 +69,7 @@ WebIDL::ExceptionOr<String> WorkerLocation::hostname() const
return String {};
// 3. Return host, serialized.
return TRY_OR_THROW_OOM(vm, URL::Parser::serialize_host(host.value()));
return host->serialize();
}
// https://html.spec.whatwg.org/multipage/workers.html#dom-workerlocation-port