summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame')
-rw-r--r--chrome_frame/urlmon_url_request.cc18
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_;