| Index: content/child/resource_dispatcher.cc
|
| diff --git a/content/child/resource_dispatcher.cc b/content/child/resource_dispatcher.cc
|
| index bdabb9f8a05407a1f4f7d43f6e3d2f171d3f0cd3..fcd3270b4047120ff2e2716c104423268019aad7 100644
|
| --- a/content/child/resource_dispatcher.cc
|
| +++ b/content/child/resource_dispatcher.cc
|
| @@ -114,6 +114,11 @@ class URLLoaderClientImpl final : public mojom::URLLoaderClient {
|
| ResourceMsg_DataDownloaded(request_id_, data_len, encoded_data_len));
|
| }
|
|
|
| + void OnTransferSizeUpdated(int32_t transfer_size_diff) override {
|
| + resource_dispatcher_->OnTransferSizeUpdated(request_id_,
|
| + transfer_size_diff);
|
| + }
|
| +
|
| void OnStartLoadingResponseBody(
|
| mojo::ScopedDataPipeConsumerHandle body) override {
|
| DCHECK(!body_consumer_);
|
| @@ -549,12 +554,11 @@ void ResourceDispatcher::Cancel(int request_id) {
|
| }
|
|
|
| void ResourceDispatcher::SetDefersLoading(int request_id, bool value) {
|
| - PendingRequestMap::iterator it = pending_requests_.find(request_id);
|
| - if (it == pending_requests_.end()) {
|
| + PendingRequestInfo* request_info = GetPendingRequestInfo(request_id);
|
| + if (!request_info) {
|
| DLOG(ERROR) << "unknown request";
|
| return;
|
| }
|
| - PendingRequestInfo* request_info = it->second.get();
|
| if (value) {
|
| request_info->is_deferred = value;
|
| } else if (request_info->is_deferred) {
|
| @@ -576,6 +580,18 @@ void ResourceDispatcher::DidChangePriority(int request_id,
|
| request_id, new_priority, intra_priority_value));
|
| }
|
|
|
| +void ResourceDispatcher::OnTransferSizeUpdated(int request_id,
|
| + int32_t transfer_size_diff) {
|
| + DCHECK_GT(transfer_size_diff, 0);
|
| + PendingRequestInfo* request_info = GetPendingRequestInfo(request_id);
|
| + if (!request_info)
|
| + return;
|
| +
|
| + // TODO(yhirano): Consider using int64_t in
|
| + // RequestPeer::OnTransferSizeUpdated.
|
| + request_info->peer->OnTransferSizeUpdated(transfer_size_diff);
|
| +}
|
| +
|
| ResourceDispatcher::PendingRequestInfo::PendingRequestInfo(
|
| std::unique_ptr<RequestPeer> peer,
|
| ResourceType resource_type,
|
|
|