Chromium Code Reviews| 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 5f21df77cecdece5778751731868621b2f203f17..fc8e190107d8cfd769b5e67b0469559e7a15b478 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); |
| } |
| @@ -633,7 +633,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); |
| @@ -670,6 +670,10 @@ void ResourceFetcher::initializeResourceRequest( |
| (type == Resource::MainResource) ? FetchMainResource : FetchSubresource); |
| } |
| +ResourceTimingInfo* ResourceFetcher::getNavigationTimingInfo() { |
|
Kunihiko Sakamoto
2017/02/13 08:22:29
Why is this moved from line 1134?
sunjian
2017/02/14 21:29:03
I think i deleted it because i thought i didn't ne
Kunihiko Sakamoto
2017/02/15 06:35:30
I see. Can you move it back to original position,
sunjian
2017/02/15 20:30:28
Done.
|
| + return m_navigationTimingInfo.get(); |
| +} |
| + |
| void ResourceFetcher::initializeRevalidation( |
| ResourceRequest& revalidatingRequest, |
| Resource* resource) { |
| @@ -761,7 +765,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()) { |
| @@ -773,7 +777,7 @@ void ResourceFetcher::storePerformanceTimingInitiatorInformation( |
| if (!isMainResource || |
| context().updateTimingInfoForIFrameNavigation(info.get())) { |
| - m_resourceTimingInfoMap.add(resource, std::move(info)); |
| + m_resourceTimingInfoMap.add(resource, info.release()); |
| } |
| } |
| @@ -1131,10 +1135,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); |
| @@ -1169,7 +1169,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()); |