diff options
author | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-23 13:28:16 +0000 |
---|---|---|
committer | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-23 13:28:16 +0000 |
commit | 4894438bb73e0a3c22fec3f36204b1f97b8cb104 (patch) | |
tree | 7198dcfb7d931648b77ed64ab8de663223b57d4f /net/url_request/url_request_job.cc | |
parent | d347fa255cdc8b7b0893485285d97492ab1a5d07 (diff) | |
download | chromium_src-4894438bb73e0a3c22fec3f36204b1f97b8cb104.zip chromium_src-4894438bb73e0a3c22fec3f36204b1f97b8cb104.tar.gz chromium_src-4894438bb73e0a3c22fec3f36204b1f97b8cb104.tar.bz2 |
Implemented chrome.experimental.webRequest.onCompleted
BUG=60101
TEST=run browser_tests
Review URL: http://codereview.chromium.org/6883119
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82793 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request/url_request_job.cc')
-rw-r--r-- | net/url_request/url_request_job.cc | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/net/url_request/url_request_job.cc b/net/url_request/url_request_job.cc index 4306167..3073414 100644 --- a/net/url_request/url_request_job.cc +++ b/net/url_request/url_request_job.cc @@ -321,18 +321,10 @@ void URLRequestJob::NotifyReadComplete(int bytes_read) { int filter_bytes_read = 0; if (ReadFilteredData(&filter_bytes_read)) { postfilter_bytes_read_ += filter_bytes_read; - if (request_->context() && request_->context()->network_delegate()) { - request_->context()->network_delegate()->NotifyReadCompleted( - request_, filter_bytes_read); - } request_->delegate()->OnReadCompleted(request_, filter_bytes_read); } } else { postfilter_bytes_read_ += bytes_read; - if (request_->context() && request_->context()->network_delegate()) { - request_->context()->network_delegate()->NotifyReadCompleted( - request_, bytes_read); - } request_->delegate()->OnReadCompleted(request_, bytes_read); } } @@ -372,6 +364,11 @@ void URLRequestJob::NotifyDone(const URLRequestStatus &status) { g_url_request_job_tracker.OnJobDone(this, status); + if (request_ && request_->context() && + request_->context()->network_delegate()) { + request_->context()->network_delegate()->NotifyCompleted(request_); + } + // Complete this notification later. This prevents us from re-entering the // delegate if we're done because of a synchronous call. MessageLoop::current()->PostTask( @@ -388,9 +385,6 @@ void URLRequestJob::CompleteNotifyDone() { // OnResponseStarted yet. if (has_handled_response_) { // We signal the error by calling OnReadComplete with a bytes_read of -1. - if (request_->context() && request_->context()->network_delegate()) - request_->context()->network_delegate()->NotifyReadCompleted( - request_, -1); request_->delegate()->OnReadCompleted(request_, -1); } else { has_handled_response_ = true; |