Index: Source/core/fetch/ResourceFetcher.cpp |
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp |
index 68f29110590e6be5b393177aaab507a390eda98f..69fa5bb29ba1be880310e32aefe94d85927510e9 100644 |
--- a/Source/core/fetch/ResourceFetcher.cpp |
+++ b/Source/core/fetch/ResourceFetcher.cpp |
@@ -677,6 +677,10 @@ void ResourceFetcher::maybeNotifyInsecureContent(const Resource* resource) const |
resource->lastResourceRequest().url()); |
} |
+// Limit the number of URLs in m_validatedURLs to avoid memory bloat. |
+// http://crbug.com/52411 |
+static const int kMaxValidatedURLsSize = 10000; |
PhistucK
2014/11/14 12:30:36
This seems like a lot to me (10,000 URLs, right?).
|
+ |
void ResourceFetcher::requestLoadStarted(Resource* resource, const FetchRequest& request, ResourceLoadStartType type) |
{ |
if (type == ResourceLoadingFromCache) |
@@ -694,6 +698,9 @@ void ResourceFetcher::requestLoadStarted(Resource* resource, const FetchRequest& |
m_resourceTimingReportTimer.startOneShot(0, FROM_HERE); |
} |
+ if (m_validatedURLs.size() >= kMaxValidatedURLsSize) { |
+ m_validatedURLs.clear(); |
+ } |
m_validatedURLs.add(request.resourceRequest().url()); |
} |