Chromium Code Reviews| Index: third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
| diff --git a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
| index 7a8cae8fb94cd591574bea7c0d7262addc5b0431..1526e0512007fa109a9cbb99004fc9afcb473adf 100644 |
| --- a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
| +++ b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
| @@ -725,7 +725,7 @@ void InspectorNetworkAgent::didReceiveResourceResponse( |
| // following didReceiveResponse as there will be no calls to didReceiveData |
| // from the network stack. |
| if (isNotModified && cachedResource && cachedResource->encodedSize()) |
| - didReceiveData(frame, identifier, 0, cachedResource->encodedSize(), 0); |
| + didReceiveData(frame, identifier, 0, cachedResource->encodedSize()); |
| } |
| static bool isErrorStatusCode(int statusCode) { |
| @@ -735,8 +735,7 @@ static bool isErrorStatusCode(int statusCode) { |
| void InspectorNetworkAgent::didReceiveData(LocalFrame*, |
| unsigned long identifier, |
| const char* data, |
| - int dataLength, |
| - int encodedDataLength) { |
| + int dataLength) { |
| String requestId = IdentifiersFactory::requestId(identifier); |
| if (data) { |
| @@ -751,7 +750,7 @@ void InspectorNetworkAgent::didReceiveData(LocalFrame*, |
| } |
| frontend()->dataReceived(requestId, monotonicallyIncreasingTime(), dataLength, |
| - encodedDataLength); |
| + 0); |
|
dgozman
2016/11/22 17:54:13
This is a regression - when large request is proce
yhirano
2016/11/29 13:55:06
Yes, this CL changes the behavior. Is the notifica
|
| } |
| void InspectorNetworkAgent::didFinishLoading(unsigned long identifier, |
| @@ -760,12 +759,20 @@ void InspectorNetworkAgent::didFinishLoading(unsigned long identifier, |
| String requestId = IdentifiersFactory::requestId(identifier); |
| NetworkResourcesData::ResourceData const* resourceData = |
| m_resourcesData->data(requestId); |
| - if (resourceData && |
| - (!resourceData->cachedResource() || |
| - resourceData->cachedResource()->getDataBufferingPolicy() == |
| - DoNotBufferData || |
| - isErrorStatusCode(resourceData->httpStatusCode()))) { |
| - m_resourcesData->maybeAddResourceData(requestId, "", 0); |
| + if (resourceData) { |
| + if (!resourceData->cachedResource() || |
| + resourceData->cachedResource()->getDataBufferingPolicy() == |
| + DoNotBufferData || |
| + isErrorStatusCode(resourceData->httpStatusCode())) { |
| + m_resourcesData->maybeAddResourceData(requestId, "", 0); |
| + } |
| + if (encodedDataLength != resourceData->rawHeaderSize() && |
| + encodedDataLength != -1) { |
| + // Dispatch a dataReceived event to update |encodedDataLength|. |
| + frontend()->dataReceived( |
| + requestId, monotonicallyIncreasingTime(), 0, |
| + encodedDataLength - std::max(resourceData->rawHeaderSize(), 0)); |
| + } |
| } |
| m_resourcesData->maybeDecodeDataToContent(requestId); |
| @@ -788,9 +795,20 @@ void InspectorNetworkAgent::didReceiveCORSRedirectResponse( |
| } |
| void InspectorNetworkAgent::didFailLoading(unsigned long identifier, |
| - const ResourceError& error) { |
| + const ResourceError& error, |
| + int64_t encodedDataLength) { |
| String requestId = IdentifiersFactory::requestId(identifier); |
| bool canceled = error.isCancellation(); |
| + NetworkResourcesData::ResourceData const* resourceData = |
| + m_resourcesData->data(requestId); |
| + if (resourceData && encodedDataLength != resourceData->rawHeaderSize() && |
| + encodedDataLength != -1) { |
| + // Dispatch a dataReceived event to update |encodedDataLength|. |
| + frontend()->dataReceived( |
| + requestId, monotonicallyIncreasingTime(), 0, |
| + encodedDataLength - std::max(resourceData->rawHeaderSize(), 0)); |
| + } |
| + |
| frontend()->loadingFailed(requestId, monotonicallyIncreasingTime(), |
| InspectorPageAgent::resourceTypeJson( |
| m_resourcesData->resourceType(requestId)), |