mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:37:34 +00:00
LibWeb: Implement the dns-prefetch and preconnect link relationships
This commit is contained in:
parent
e9b9f89e70
commit
f0e2c517fc
4 changed files with 26 additions and 3 deletions
|
@ -52,6 +52,16 @@ void ResourceLoader::load_sync(LoadRequest& request, Function<void(ReadonlyBytes
|
|||
loop.exec();
|
||||
}
|
||||
|
||||
void ResourceLoader::prefetch_dns(AK::URL const& url)
|
||||
{
|
||||
m_protocol_client->ensure_connection(url, RequestServer::CacheLevel::ResolveOnly);
|
||||
}
|
||||
|
||||
void ResourceLoader::preconnect(AK::URL const& url)
|
||||
{
|
||||
m_protocol_client->ensure_connection(url, RequestServer::CacheLevel::CreateConnection);
|
||||
}
|
||||
|
||||
static HashMap<LoadRequest, NonnullRefPtr<Resource>> s_resource_cache;
|
||||
|
||||
RefPtr<Resource> ResourceLoader::load_resource(Resource::Type type, LoadRequest& request)
|
||||
|
|
|
@ -37,6 +37,9 @@ public:
|
|||
void load(const AK::URL&, Function<void(ReadonlyBytes, const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers, Optional<u32> status_code)> success_callback, Function<void(const String&, Optional<u32> status_code)> error_callback = nullptr);
|
||||
void load_sync(LoadRequest&, Function<void(ReadonlyBytes, const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers, Optional<u32> status_code)> success_callback, Function<void(const String&, Optional<u32> status_code)> error_callback = nullptr);
|
||||
|
||||
void prefetch_dns(AK::URL const&);
|
||||
void preconnect(AK::URL const&);
|
||||
|
||||
Function<void()> on_load_counter_change;
|
||||
|
||||
int pending_loads() const { return m_pending_loads; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue