Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Unified Diff: third_party/WebKit/Source/core/fetch/Resource.cpp

Issue 2218013002: Ensure setEncodedSizeMemoryUsage() is called when |m_data| is cleared (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/fetch/Resource.cpp
diff --git a/third_party/WebKit/Source/core/fetch/Resource.cpp b/third_party/WebKit/Source/core/fetch/Resource.cpp
index 837e76b58a7f633445e2e9225d497e5cb1e074dc..08ab73e0ec820568023ae88d2488f41d3bf042de 100644
--- a/third_party/WebKit/Source/core/fetch/Resource.cpp
+++ b/third_party/WebKit/Source/core/fetch/Resource.cpp
@@ -395,9 +395,14 @@ void Resource::setResourceBuffer(PassRefPtr<SharedBuffer> resourceBuffer) {
setEncodedSize(m_data->size());
}
+void Resource::clearData() {
+ m_data.clear();
+ setEncodedSizeMemoryUsage(0);
+}
+
void Resource::setDataBufferingPolicy(DataBufferingPolicy dataBufferingPolicy) {
m_options.dataBufferingPolicy = dataBufferingPolicy;
- m_data.clear();
+ clearData();
setEncodedSize(0);
}
@@ -412,7 +417,7 @@ void Resource::error(const ResourceError& error) {
if (!errorOccurred())
setStatus(LoadError);
DCHECK(errorOccurred());
- m_data.clear();
+ clearData();
m_loader = nullptr;
checkNotify();
}
@@ -967,7 +972,7 @@ void Resource::revalidationSucceeded(
void Resource::revalidationFailed() {
SECURITY_CHECK(m_redirectChain.isEmpty());
- m_data.clear();
+ clearData();
m_cacheHandler.clear();
destroyDecodedDataForFailedRevalidation();
m_isRevalidating = false;

Powered by Google App Engine
This is Rietveld 408576698