Index: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
index 386b8070007675d1ad5cb0948d882a102099c3fa..4448723c6e7403d185a6aa83d9b9f5d75cf2d412 100644 |
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
@@ -312,13 +312,13 @@ void ResourceFetcher::requestLoadStarted(unsigned long identifier, |
!m_validatedURLs.contains(request.resourceRequest().url())) { |
// Resources loaded from memory cache should be reported the first time |
// they're used. |
- std::unique_ptr<ResourceTimingInfo> info = ResourceTimingInfo::create( |
+ RefPtr<ResourceTimingInfo> info = ResourceTimingInfo::create( |
request.options().initiatorInfo.name, monotonicallyIncreasingTime(), |
resource->getType() == Resource::MainResource); |
populateTimingInfo(info.get(), resource); |
info->clearLoadTimings(); |
info->setLoadFinishTime(info->initialTime()); |
- m_scheduledResourceTimingReports.push_back(std::move(info)); |
+ m_scheduledResourceTimingReports.push_back(info.release()); |
if (!m_resourceTimingReportTimer.isActive()) |
m_resourceTimingReportTimer.startOneShot(0, BLINK_FROM_HERE); |
} |
@@ -631,7 +631,7 @@ Resource* ResourceFetcher::requestResource( |
void ResourceFetcher::resourceTimingReportTimerFired(TimerBase* timer) { |
DCHECK_EQ(timer, &m_resourceTimingReportTimer); |
- Vector<std::unique_ptr<ResourceTimingInfo>> timingReports; |
+ Vector<RefPtr<ResourceTimingInfo>> timingReports; |
timingReports.swap(m_scheduledResourceTimingReports); |
for (const auto& timingInfo : timingReports) |
context().addResourceTiming(*timingInfo); |
@@ -668,6 +668,10 @@ void ResourceFetcher::initializeResourceRequest( |
(type == Resource::MainResource) ? FetchMainResource : FetchSubresource); |
} |
+ResourceTimingInfo* ResourceFetcher::getNavigationTimingInfo() { |
+ return m_navigationTimingInfo.get(); |
+} |
+ |
void ResourceFetcher::initializeRevalidation( |
ResourceRequest& revalidatingRequest, |
Resource* resource) { |
@@ -759,7 +763,7 @@ void ResourceFetcher::storePerformanceTimingInitiatorInformation( |
ResourceTimingInfo::create(fetchInitiator, startTime, isMainResource); |
} |
- std::unique_ptr<ResourceTimingInfo> info = |
+ RefPtr<ResourceTimingInfo> info = |
ResourceTimingInfo::create(fetchInitiator, startTime, isMainResource); |
if (resource->isCacheValidator()) { |
@@ -1128,10 +1132,6 @@ ArchiveResource* ResourceFetcher::createArchive(Resource* resource) { |
return m_archive ? m_archive->mainResource() : nullptr; |
} |
-ResourceTimingInfo* ResourceFetcher::getNavigationTimingInfo() { |
- return m_navigationTimingInfo.get(); |
-} |
- |
void ResourceFetcher::handleLoadCompletion(Resource* resource) { |
context().didLoadResource(resource); |
@@ -1166,7 +1166,7 @@ void ResourceFetcher::handleLoaderFinish(Resource* resource, |
encodedDataLength == -1 ? 0 : encodedDataLength); |
} |
} |
- if (std::unique_ptr<ResourceTimingInfo> info = |
+ if (RefPtr<ResourceTimingInfo> info = |
m_resourceTimingInfoMap.take(resource)) { |
// Store redirect responses that were packed inside the final response. |
addRedirectsToTimingInfo(resource, info.get()); |