diff --git a/Libraries/LibWeb/Loader/ResourceLoader.cpp b/Libraries/LibWeb/Loader/ResourceLoader.cpp index 4d3de8480a..30611c579d 100644 --- a/Libraries/LibWeb/Loader/ResourceLoader.cpp +++ b/Libraries/LibWeb/Loader/ResourceLoader.cpp @@ -184,7 +184,10 @@ void ResourceLoader::load(const LoadRequest& request, Function&>(download) = nullptr; }); + deferred_invoke([download](auto&) { + // Clear circular reference of `download` captured by copy + const_cast(*download).on_buffered_download_finish = nullptr; + }); success_callback(payload, response_headers); }; download->set_should_buffer_all_input(true);