Chromium Code Reviews| 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(); |
|
Nate Chapin
2016/04/27 19:48:30
Since m_loader is nulled before sending load compl
|
| - memoryCache()->remove(this); |
|
Nate Chapin
2016/04/27 19:48:30
This was a dumb hack to work around tests with uns
|
| + if (!hasClientsOrObservers() && m_loader) |
| + m_loader->cancel(); |
| } |
| void Resource::setDecodedSize(size_t decodedSize) |