Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(937)

Unified Diff: Source/core/fetch/ResourceFetcher.cpp

Issue 561813003: Prepare blink to unify definitions of load completion (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698