Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: components/cronet/android/cronet_url_request_adapter.cc

Issue 1393713005: [Cronet] Add error code and immediatelyRetryable() to UrlRequestException (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix missing test annotation Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/cronet/android/cronet_url_request_adapter.h" 5 #include "components/cronet/android/cronet_url_request_adapter.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "components/cronet/android/cronet_url_request_context_adapter.h" 14 #include "components/cronet/android/cronet_url_request_context_adapter.h"
15 #include "components/cronet/android/url_request_error.h"
15 #include "jni/CronetUrlRequest_jni.h" 16 #include "jni/CronetUrlRequest_jni.h"
16 #include "net/base/io_buffer.h" 17 #include "net/base/io_buffer.h"
17 #include "net/base/load_flags.h" 18 #include "net/base/load_flags.h"
18 #include "net/base/net_errors.h" 19 #include "net/base/net_errors.h"
19 #include "net/base/request_priority.h" 20 #include "net/base/request_priority.h"
20 #include "net/cert/cert_status_flags.h" 21 #include "net/cert/cert_status_flags.h"
21 #include "net/http/http_response_headers.h" 22 #include "net/http/http_response_headers.h"
22 #include "net/http/http_status_code.h" 23 #include "net/http/http_status_code.h"
23 #include "net/http/http_util.h" 24 #include "net/http/http_util.h"
24 #include "net/ssl/ssl_info.h" 25 #include "net/ssl/ssl_info.h"
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 284
284 void CronetURLRequestAdapter::OnSSLCertificateError( 285 void CronetURLRequestAdapter::OnSSLCertificateError(
285 net::URLRequest* request, 286 net::URLRequest* request,
286 const net::SSLInfo& ssl_info, 287 const net::SSLInfo& ssl_info,
287 bool fatal) { 288 bool fatal) {
288 DCHECK(context_->IsOnNetworkThread()); 289 DCHECK(context_->IsOnNetworkThread());
289 request->Cancel(); 290 request->Cancel();
290 int net_error = net::MapCertStatusToNetError(ssl_info.cert_status); 291 int net_error = net::MapCertStatusToNetError(ssl_info.cert_status);
291 JNIEnv* env = base::android::AttachCurrentThread(); 292 JNIEnv* env = base::android::AttachCurrentThread();
292 cronet::Java_CronetUrlRequest_onError( 293 cronet::Java_CronetUrlRequest_onError(
293 env, owner_.obj(), net_error, 294 env, owner_.obj(), NetErrorToUrlRequestError(net_error), net_error,
294 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(), 295 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(),
295 request->GetTotalReceivedBytes()); 296 request->GetTotalReceivedBytes());
296 } 297 }
297 298
298 void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* request) { 299 void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* request) {
299 DCHECK(context_->IsOnNetworkThread()); 300 DCHECK(context_->IsOnNetworkThread());
300 if (MaybeReportError(request)) 301 if (MaybeReportError(request))
301 return; 302 return;
302 JNIEnv* env = base::android::AttachCurrentThread(); 303 JNIEnv* env = base::android::AttachCurrentThread();
303 cronet::Java_CronetUrlRequest_onResponseStarted( 304 cronet::Java_CronetUrlRequest_onResponseStarted(
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 bool CronetURLRequestAdapter::MaybeReportError(net::URLRequest* request) const { 406 bool CronetURLRequestAdapter::MaybeReportError(net::URLRequest* request) const {
406 DCHECK_NE(net::URLRequestStatus::IO_PENDING, url_request_->status().status()); 407 DCHECK_NE(net::URLRequestStatus::IO_PENDING, url_request_->status().status());
407 DCHECK_EQ(request, url_request_.get()); 408 DCHECK_EQ(request, url_request_.get());
408 if (url_request_->status().is_success()) 409 if (url_request_->status().is_success())
409 return false; 410 return false;
410 int net_error = url_request_->status().error(); 411 int net_error = url_request_->status().error();
411 VLOG(1) << "Error " << net::ErrorToString(net_error) 412 VLOG(1) << "Error " << net::ErrorToString(net_error)
412 << " on chromium request: " << initial_url_.possibly_invalid_spec(); 413 << " on chromium request: " << initial_url_.possibly_invalid_spec();
413 JNIEnv* env = base::android::AttachCurrentThread(); 414 JNIEnv* env = base::android::AttachCurrentThread();
414 cronet::Java_CronetUrlRequest_onError( 415 cronet::Java_CronetUrlRequest_onError(
415 env, owner_.obj(), net_error, 416 env, owner_.obj(), NetErrorToUrlRequestError(net_error), net_error,
416 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(), 417 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(),
417 request->GetTotalReceivedBytes()); 418 request->GetTotalReceivedBytes());
418 return true; 419 return true;
419 } 420 }
420 421
421 } // namespace cronet 422 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698