From ae0be7797fe5e693fa403355fcd136cdb2356cf5 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 24 Jan 2021 10:34:52 +0100 Subject: [PATCH] LibWeb: Disable resource cache for file:// URLs This makes the browser a bit less annoying when testing local files, since you no longer have to restart it for changes to take effect. Longer-term we should have a proper way to decide which resources are cacheable. --- .../LibWeb/Loader/ResourceLoader.cpp | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp b/Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp index 14f3fd68d3..ab39743fd8 100644 --- a/Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp +++ b/Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp @@ -78,19 +78,24 @@ RefPtr ResourceLoader::load_resource(Resource::Type type, const LoadRe if (!request.is_valid()) return nullptr; - auto it = s_resource_cache.find(request); - if (it != s_resource_cache.end()) { - if (it->value->type() != type) { - dbgln("FIXME: Not using cached resource for {} since there's a type mismatch.", request.url()); - } else { - dbgln("Reusing cached resource for: {}", request.url()); - return it->value; + bool use_cache = request.url().protocol() != "file"; + + if (use_cache) { + auto it = s_resource_cache.find(request); + if (it != s_resource_cache.end()) { + if (it->value->type() != type) { + dbgln("FIXME: Not using cached resource for {} since there's a type mismatch.", request.url()); + } else { + dbgln("Reusing cached resource for: {}", request.url()); + return it->value; + } } } auto resource = Resource::create({}, type, request); - s_resource_cache.set(request, resource); + if (use_cache) + s_resource_cache.set(request, resource); load( request,