diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-10 22:51:40 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-10 22:51:40 +0000 |
commit | c192ea0ece21d496cf0caba87d09993eb1c326ce (patch) | |
tree | cf70fe375fef0df4cf98ebce168f569b1ee2ed91 /net | |
parent | 15d22afc2e5bb91184b5c1ced33fb79547cd27ef (diff) | |
download | chromium_src-c192ea0ece21d496cf0caba87d09993eb1c326ce.zip chromium_src-c192ea0ece21d496cf0caba87d09993eb1c326ce.tar.gz chromium_src-c192ea0ece21d496cf0caba87d09993eb1c326ce.tar.bz2 |
Log cancellation error codes at the URLRequest level to NetLog.
In some cases this may result in redundant logging, but this
is needed to log cancellations from third parties.
R=eroman@chomium.org
BUG=108055
Review URL: https://chromiumcodereview.appspot.com/10689142
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145975 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/net_log.cc | 7 | ||||
-rw-r--r-- | net/url_request/url_request.cc | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/net/base/net_log.cc b/net/base/net_log.cc index f15ce95..c7b5360 100644 --- a/net/base/net_log.cc +++ b/net/base/net_log.cc @@ -359,9 +359,12 @@ void BoundNetLog::EndEvent( void BoundNetLog::AddEventWithNetErrorCode(NetLog::EventType event_type, int net_error) const { - DCHECK_GT(0, net_error); DCHECK_NE(ERR_IO_PENDING, net_error); - AddEvent(event_type, NetLog::IntegerCallback("net_error", net_error)); + if (net_error >= 0) { + AddEvent(event_type); + } else { + AddEvent(event_type, NetLog::IntegerCallback("net_error", net_error)); + } } void BoundNetLog::EndEventWithNetErrorCode(NetLog::EventType event_type, diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc index 51c627a..8b82323 100644 --- a/net/url_request/url_request.cc +++ b/net/url_request/url_request.cc @@ -521,6 +521,13 @@ void URLRequest::DoCancel(int error, const SSLInfo& ssl_info) { status_.set_status(URLRequestStatus::CANCELED); status_.set_error(error); response_info_.ssl_info = ssl_info; + + // If the request hasn't already been completed, log a cancellation event. + if (!has_notified_completion_) { + // Don't log an error code on ERR_ABORTED, since that's redundant. + net_log_.AddEventWithNetErrorCode(NetLog::TYPE_CANCELLED, + error == ERR_ABORTED ? OK : error); + } } if (is_pending_ && job_) |