Index: content/child/resource_dispatcher.cc |
diff --git a/content/child/resource_dispatcher.cc b/content/child/resource_dispatcher.cc |
index 89a604da2ca3f47c1bd89a4b333fad4a76b9e8d0..f71da48d5c4a481cae46fb0304c4e08a6ba6e663 100644 |
--- a/content/child/resource_dispatcher.cc |
+++ b/content/child/resource_dispatcher.cc |
@@ -114,6 +114,14 @@ class URLLoaderClientImpl final : public mojom::URLLoaderClient { |
ResourceMsg_DataDownloaded(request_id_, data_len, encoded_data_len)); |
} |
+ void OnUploadProgress(int64_t current_position, |
+ int64_t total_size, |
+ const base::Closure& ack_callback) override { |
+ resource_dispatcher_->OnMessageReceived( |
+ ResourceMsg_UploadProgress(request_id_, current_position, total_size)); |
+ ack_callback.Run(); |
+ } |
+ |
void OnStartLoadingResponseBody( |
mojo::ScopedDataPipeConsumerHandle body) override { |
DCHECK(!body_consumer_); |
@@ -230,8 +238,10 @@ void ResourceDispatcher::OnUploadProgress(int request_id, |
request_info->peer->OnUploadProgress(position, size); |
- // Acknowledge receipt |
- message_sender_->Send(new ResourceHostMsg_UploadProgress_ACK(request_id)); |
+ if (!request_info->url_loader) { |
+ // Acknowledge receipt |
+ message_sender_->Send(new ResourceHostMsg_UploadProgress_ACK(request_id)); |
+ } |
} |
void ResourceDispatcher::OnReceivedResponse( |