| 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 cf9ef1e62c497b4ebc069d841b93025ee0e89b3c..c9ce298def6c28402194c2dac7885640b4d06715 100644
|
| --- a/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| @@ -335,6 +335,7 @@ void Resource::error(Resource::Status status)
|
| setStatus(status);
|
| ASSERT(errorOccurred());
|
| m_data.clear();
|
| + m_loader = nullptr;
|
| checkNotify();
|
| markClientsAndObserversFinished();
|
| }
|
| @@ -344,6 +345,7 @@ void Resource::finish()
|
| ASSERT(m_revalidatingRequest.isNull());
|
| if (!errorOccurred())
|
| m_status = Cached;
|
| + m_loader = nullptr;
|
| checkNotify();
|
| markClientsAndObserversFinished();
|
| }
|
| @@ -590,11 +592,6 @@ CachedMetadata* Resource::cachedMetadata(unsigned dataTypeID) const
|
| return m_cachedMetadata.get();
|
| }
|
|
|
| -void Resource::clearLoader()
|
| -{
|
| - m_loader = nullptr;
|
| -}
|
| -
|
| void Resource::didAddClient(ResourceClient* c)
|
| {
|
| if (isLoaded()) {
|
| @@ -713,10 +710,8 @@ void Resource::allClientsAndObserversRemoved()
|
| void Resource::cancelTimerFired(Timer<Resource>* timer)
|
| {
|
| ASSERT_UNUSED(timer, timer == &m_cancelTimer);
|
| - if (hasClientsOrObservers() || !m_loader)
|
| - return;
|
| - m_loader->cancelIfNotFinishing();
|
| - memoryCache()->remove(this);
|
| + if (!hasClientsOrObservers() && m_loader)
|
| + m_loader->cancel();
|
| }
|
|
|
| void Resource::setDecodedSize(size_t decodedSize)
|
|
|