Index: Source/core/fetch/RawResource.cpp |
diff --git a/Source/core/fetch/RawResource.cpp b/Source/core/fetch/RawResource.cpp |
index ece0478f99e5bb321d49d1299293b87df9191c60..c7c460a43e5c5c202826eec68cbc74461dabe0d2 100644 |
--- a/Source/core/fetch/RawResource.cpp |
+++ b/Source/core/fetch/RawResource.cpp |
@@ -166,6 +166,7 @@ void RawResource::setSerializedCachedMetadata(const char* data, size_t size) |
void RawResource::didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) |
{ |
+ ResourcePtr<RawResource> protect(this); |
ResourceClientWalker<RawResourceClient> w(m_clients); |
while (RawResourceClient* c = w.next()) |
c->dataSent(this, bytesSent, totalBytesToBeSent); |
@@ -173,6 +174,7 @@ void RawResource::didSendData(unsigned long long bytesSent, unsigned long long t |
void RawResource::didDownloadData(int dataLength) |
{ |
+ ResourcePtr<RawResource> protect(this); |
ResourceClientWalker<RawResourceClient> w(m_clients); |
while (RawResourceClient* c = w.next()) |
c->dataDownloaded(this, dataLength); |