summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request_job.cc
diff options
context:
space:
mode:
authorbattre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-23 13:28:16 +0000
committerbattre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-23 13:28:16 +0000
commit4894438bb73e0a3c22fec3f36204b1f97b8cb104 (patch)
tree7198dcfb7d931648b77ed64ab8de663223b57d4f /net/url_request/url_request_job.cc
parentd347fa255cdc8b7b0893485285d97492ab1a5d07 (diff)
downloadchromium_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.cc16
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;