mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:47:35 +00:00
LibWeb: Apply content filter to DNS prefetch and pre-connect
Performing DNS prefetch or pre-connect on filtered URLs is wasteful, as we would block any actual use further down the line. A bunch of websites perform DNS prefetch and/or pre-connect to trackers as well, for example: ``` prefetch DNS for 'https://adserver-us.adtech.advertising.com/' prefetch DNS for 'https://secure.adnxs.com/' prefetch DNS for 'https://bidder.criteo.com/' prefetch DNS for 'https://static.criteo.net/' prefetch DNS for 'https://cdn.krxd.net/' prefetch DNS for 'https://widgets.outbrain.com/' prefetch DNS for 'https://images.outbrain.com/' prefetch DNS for 'https://log.outbrain.com/ prefetch DNS for 'https://amplifypixel.outbrain.com/' prefetch DNS for 'https://odb.outbrain.com/' prefetch DNS for 'https://js-sec.indexww.com/' prefetch DNS for 'https://as-sec.casalemedia.com/' prefetch DNS for 'https://as.casalemedia.com/' prefetch DNS for 'https://sofia.trustx.org/' prefetch DNS for 'https://c.amazon-adsystem.com/' prefetch DNS for 'https://s.amazon-adsystem.com/' prefetch DNS for 'https://aax.amazon-adsystem.com/' prefetch DNS for 'https://t.teads.tv/' prefetch DNS for 'https://beacon.krxd.net/' pre-connect to 'https://www.google-analytics.com/' pre-connect to 'https://www.googletagmanager.com/' ```
This commit is contained in:
parent
4c77575ec5
commit
210c3795f9
1 changed files with 10 additions and 0 deletions
|
@ -61,11 +61,21 @@ ResourceLoader::ResourceLoader(NonnullRefPtr<ResourceLoaderConnector> connector)
|
|||
|
||||
void ResourceLoader::prefetch_dns(AK::URL const& url)
|
||||
{
|
||||
if (ContentFilter::the().is_filtered(url)) {
|
||||
dbgln("ResourceLoader: Refusing to prefetch DNS for '{}': \033[31;1mURL was filtered\033[0m", url);
|
||||
return;
|
||||
}
|
||||
|
||||
m_connector->prefetch_dns(url);
|
||||
}
|
||||
|
||||
void ResourceLoader::preconnect(AK::URL const& url)
|
||||
{
|
||||
if (ContentFilter::the().is_filtered(url)) {
|
||||
dbgln("ResourceLoader: Refusing to pre-connect to '{}': \033[31;1mURL was filtered\033[0m", url);
|
||||
return;
|
||||
}
|
||||
|
||||
m_connector->preconnect(url);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue