| Index: third_party/WebKit/Source/core/timing/PerformanceBase.cpp
|
| diff --git a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
|
| index 3895f0076f3c1552f4a76e64948223f1b8b0e530..d099532f810f74170853f6123f935af1147edbb9 100644
|
| --- a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
|
| +++ b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
|
| @@ -315,12 +315,15 @@ void PerformanceBase::addNavigationTiming(LocalFrame* frame) {
|
| DCHECK(frame);
|
| const DocumentLoader* documentLoader = frame->loader().documentLoader();
|
| DCHECK(documentLoader);
|
| +
|
| const DocumentLoadTiming& documentLoadTiming = documentLoader->timing();
|
|
|
| const DocumentTiming* documentTiming =
|
| frame->document() ? &(frame->document()->timing()) : nullptr;
|
|
|
| const ResourceResponse& finalResponse = documentLoader->response();
|
| + ResourceTimingInfo* resourceTimingInfo =
|
| + documentLoader->getMainResourceTimingInfo();
|
|
|
| ResourceLoadTiming* resourceLoadTiming = finalResponse.resourceLoadTiming();
|
| // Don't create a navigation timing instance when
|
| @@ -331,8 +334,8 @@ void PerformanceBase::addNavigationTiming(LocalFrame* frame) {
|
| double lastRedirectEndTime = documentLoadTiming.redirectEnd();
|
| double finishTime = documentLoadTiming.loadEventEnd();
|
|
|
| - // TODO(sunjian) Implement transfer size. crbug/663187
|
| - unsigned long long transferSize = 0;
|
| + unsigned long long transferSize =
|
| + resourceTimingInfo ? resourceTimingInfo->transferSize() : 0;
|
| unsigned long long encodedBodyLength = finalResponse.encodedBodyLength();
|
| unsigned long long decodedBodyLength = finalResponse.decodedBodyLength();
|
| bool didReuseConnection = finalResponse.connectionReused();
|
|
|