diff options
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/urlmon_url_request.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/chrome_frame/urlmon_url_request.cc b/chrome_frame/urlmon_url_request.cc index a72e3a2..74c5705 100644 --- a/chrome_frame/urlmon_url_request.cc +++ b/chrome_frame/urlmon_url_request.cc @@ -979,6 +979,18 @@ void UrlmonUrlRequestManager::StartRequest(int request_id, scoped_refptr<UrlmonUrlRequest> new_request; bool is_started = false; if (pending_request_) { + if (pending_request_->url() != request_info.url) { + DVLOG(1) << __FUNCTION__ + << "Received unexpected url request for url:" + << request_info.url + << ".Pending url request for url:" + << pending_request_->url() + << " was expected."; + URLRequestStatus result; + result.set_status(URLRequestStatus::FAILED); + OnResponseEnd(request_id, result); + return; + } DCHECK_EQ(pending_request_->url(), request_info.url); new_request.swap(pending_request_); is_started = true; @@ -1169,7 +1181,11 @@ void UrlmonUrlRequestManager::OnResponseEnd(int request_id, DVLOG(1) << __FUNCTION__; DCHECK(status.status() != URLRequestStatus::CANCELED); RequestMap::size_type n = request_map_.erase(request_id); - DCHECK_EQ(1u, n); + if (n != 1u) { + DVLOG(1) << __FUNCTION__ + << " Failed to find request id:" + << request_id; + } ++calling_delegate_; delegate_->OnResponseEnd(request_id, status); --calling_delegate_; |