| Index: content/browser/cancelable_request.cc
|
| diff --git a/content/browser/cancelable_request.cc b/content/browser/cancelable_request.cc
|
| index 5e36d89dfbeaf8734dcd41482b8e85a6e6c8a41b..c557ecf5bfe8b9ca36fb52d0373caa0e3e322cf0 100644
|
| --- a/content/browser/cancelable_request.cc
|
| +++ b/content/browser/cancelable_request.cc
|
| @@ -54,6 +54,7 @@ void CancelableRequestProvider::CancelRequestLocked(
|
|
|
| item->second->consumer()->OnRequestRemoved(this, item->first);
|
| item->second->set_canceled();
|
| + completed_requests_[item->first] = pending_requests_[item->first];
|
| pending_requests_.erase(item);
|
| }
|
|
|
| @@ -73,6 +74,7 @@ void CancelableRequestProvider::RequestCompleted(Handle handle) {
|
| // else the consumer might be gone).
|
| DCHECK(!i->second->canceled());
|
|
|
| + completed_requests_[i->first] = pending_requests_[i->first];
|
| pending_requests_.erase(i);
|
| }
|
|
|
| @@ -80,6 +82,11 @@ void CancelableRequestProvider::RequestCompleted(Handle handle) {
|
| consumer->OnRequestRemoved(this, handle);
|
| }
|
|
|
| +bool CancelableRequestProvider::IsRequestCompleted(Handle handle) {
|
| + CancelableRequestMap::iterator i = completed_requests_.find(handle);
|
| + return i != completed_requests_.end();
|
| +}
|
| +
|
| // MSVC doesn't like complex extern templates and DLLs.
|
| #if !defined(COMPILER_MSVC)
|
| // Emit our most common CancelableRequestConsumer.
|
|
|