| 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 da7d65d99f6abaa313a92c605a8a13a52b99c444..5e38893ace0f7aa61a8ab569a5c1e0ee8dbb199b 100644
|
| --- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
|
| +++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
|
| @@ -653,6 +653,10 @@ void ResourceFetcher::initializeResourceRequest(
|
| (type == Resource::MainResource) ? FetchMainResource : FetchSubresource);
|
| }
|
|
|
| +std::unique_ptr<ResourceTimingInfo> ResourceFetcher::getNavigationTimingInfo() {
|
| + return std::move(m_navigationTimingInfo);
|
| +}
|
| +
|
| void ResourceFetcher::initializeRevalidation(
|
| ResourceRequest& revalidatingRequest,
|
| Resource* resource) {
|
| @@ -742,6 +746,7 @@ void ResourceFetcher::storePerformanceTimingInitiatorInformation(
|
| DCHECK(!m_navigationTimingInfo);
|
| m_navigationTimingInfo =
|
| ResourceTimingInfo::create(fetchInitiator, startTime, isMainResource);
|
| + m_navigationTimingInfoRef = m_navigationTimingInfo.get();
|
| }
|
|
|
| std::unique_ptr<ResourceTimingInfo> info =
|
| @@ -770,8 +775,8 @@ void ResourceFetcher::recordResourceTimingOnRedirect(
|
| }
|
|
|
| if (resource->getType() == Resource::MainResource) {
|
| - DCHECK(m_navigationTimingInfo);
|
| - m_navigationTimingInfo->addRedirect(redirectResponse, crossOrigin);
|
| + DCHECK(m_navigationTimingInfoRef);
|
| + m_navigationTimingInfoRef->addRedirect(redirectResponse, crossOrigin);
|
| }
|
| }
|
|
|
| @@ -1114,10 +1119,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);
|
|
|
| @@ -1143,12 +1144,12 @@ void ResourceFetcher::handleLoaderFinish(Resource* resource,
|
| const int64_t encodedDataLength = resource->response().encodedDataLength();
|
|
|
| if (resource->getType() == Resource::MainResource) {
|
| - DCHECK(m_navigationTimingInfo);
|
| + DCHECK(m_navigationTimingInfoRef);
|
| // Store redirect responses that were packed inside the final response.
|
| - addRedirectsToTimingInfo(resource, m_navigationTimingInfo.get());
|
| + addRedirectsToTimingInfo(resource, m_navigationTimingInfoRef);
|
| if (resource->response().isHTTP()) {
|
| - populateTimingInfo(m_navigationTimingInfo.get(), resource);
|
| - m_navigationTimingInfo->addFinalTransferSize(
|
| + populateTimingInfo(m_navigationTimingInfoRef, resource);
|
| + m_navigationTimingInfoRef->addFinalTransferSize(
|
| encodedDataLength == -1 ? 0 : encodedDataLength);
|
| }
|
| }
|
|
|