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)), |