Chromium Code Reviews| Index: Source/core/fetch/ResourceFetcher.cpp |
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp |
| index 47883bbb9b789a4066c9327c0fa2d76204d61f2b..1215f052a797f56efbb13559e3773742902fdfd0 100644 |
| --- a/Source/core/fetch/ResourceFetcher.cpp |
| +++ b/Source/core/fetch/ResourceFetcher.cpp |
| @@ -1101,16 +1101,6 @@ void ResourceFetcher::didLoadResource(Resource* resource) |
| RefPtr<DocumentLoader> protectDocumentLoader(m_documentLoader); |
| RefPtrWillBeRawPtr<Document> protectDocument(m_document.get()); |
| - if (resource && resource->response().isHTTP() && ((!resource->errorOccurred() && !resource->wasCanceled()) || resource->response().httpStatusCode() == 304) && document()) { |
| - ResourceTimingInfoMap::iterator it = m_resourceTimingInfoMap.find(resource); |
| - if (it != m_resourceTimingInfoMap.end()) { |
| - RefPtr<ResourceTimingInfo> info = it->value; |
| - m_resourceTimingInfoMap.remove(it); |
| - populateResourceTiming(info.get(), resource, false); |
| - reportResourceTiming(info.get(), document(), resource->type() == Resource::MainResource); |
| - } |
| - } |
| - |
| if (frame()) |
| frame()->loader().loadDone(); |
| scheduleDocumentResourcesGC(); |
| @@ -1252,9 +1242,19 @@ void ResourceFetcher::clearPreloads() |
| m_preloads.clear(); |
| } |
| -void ResourceFetcher::didFinishLoading(const Resource* resource, double finishTime, int64_t encodedDataLength) |
| +void ResourceFetcher::didFinishLoading(Resource* resource, double finishTime, int64_t encodedDataLength) |
| { |
| TRACE_EVENT_ASYNC_END0("net", "Resource", resource); |
| + |
| + if (resource && resource->response().isHTTP() && resource->response().httpStatusCode() < 400 && document()) { |
|
Nate Chapin
2014/09/15 23:39:35
dispatchDidFinishLoading might end a test, so ensu
|
| + ResourceTimingInfoMap::iterator it = m_resourceTimingInfoMap.find(resource); |
| + if (it != m_resourceTimingInfoMap.end()) { |
| + RefPtr<ResourceTimingInfo> info = it->value; |
| + m_resourceTimingInfoMap.remove(it); |
| + populateResourceTiming(info.get(), resource, false); |
| + reportResourceTiming(info.get(), document(), resource->type() == Resource::MainResource); |
| + } |
| + } |
| context().dispatchDidFinishLoading(m_documentLoader, resource->identifier(), finishTime, encodedDataLength); |
| } |