Index: Source/core/fetch/ResourceFetcher.cpp |
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp |
index 1a8398753b3b03449abadb778c1f37f659005a96..b46ab093ab569a23883b41b57f1a27bb7af5315c 100644 |
--- a/Source/core/fetch/ResourceFetcher.cpp |
+++ b/Source/core/fetch/ResourceFetcher.cpp |
@@ -294,8 +294,10 @@ void ResourceFetcher::preCacheDataURIImage(const FetchRequest& request) |
if (memoryCache()->resourceForURL(url)) |
return; |
- if (Resource* resource = resourceFromDataURIRequest(request.resourceRequest(), request.options())) |
+ if (Resource* resource = resourceFromDataURIRequest(request.resourceRequest(), request.options())) { |
memoryCache()->add(resource); |
+ scheduleDocumentResourcesGC(); |
+ } |
} |
ResourcePtr<FontResource> ResourceFetcher::fetchFont(FetchRequest& request) |
@@ -1008,7 +1010,11 @@ void ResourceFetcher::didLoadResource(Resource* resource) |
if (frame()) |
frame()->loader().loadDone(); |
performPostLoadActions(); |
+ scheduleDocumentResourcesGC(); |
+} |
+void ResourceFetcher::scheduleDocumentResourcesGC() |
+{ |
if (!m_garbageCollectDocumentResourcesTimer.isActive()) |
m_garbageCollectDocumentResourcesTimer.startOneShot(0); |
} |