| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index 9f3a94b0cbb2ade3786e1ea637136015d5f96cbf..8e053480c25706751ab86833f84bd2c1b2374db9 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -1157,16 +1157,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();
|
| @@ -1307,9 +1297,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()) {
|
| + 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);
|
| }
|
|
|
|
|