Chromium Code Reviews| Index: components/cronet/android/cronet_url_request_adapter.cc |
| diff --git a/components/cronet/android/cronet_url_request_adapter.cc b/components/cronet/android/cronet_url_request_adapter.cc |
| index cb021c5411e271309e4726888c505be08ce80004..0d71070bd6cdb0fafd70e040de463d719cdf05a4 100644 |
| --- a/components/cronet/android/cronet_url_request_adapter.cc |
| +++ b/components/cronet/android/cronet_url_request_adapter.cc |
| @@ -23,6 +23,7 @@ |
| #include "net/http/http_response_headers.h" |
| #include "net/http/http_status_code.h" |
| #include "net/http/http_util.h" |
| +#include "net/proxy/proxy_server.h" |
| #include "net/quic/core/quic_protocol.h" |
| #include "net/ssl/ssl_info.h" |
| #include "net/url_request/redirect_info.h" |
| @@ -198,6 +199,12 @@ void CronetURLRequestAdapter::OnReceivedRedirect( |
| DCHECK(context_->IsOnNetworkThread()); |
| DCHECK(request->status().is_success()); |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| + |
| + const net::HostPortPair host_port_pair = |
| + !request->response_info().proxy_server.is_valid() || |
| + request->response_info().proxy_server.is_direct() |
| + ? net::HostPortPair() |
| + : request->response_info().proxy_server.host_port_pair(); |
|
Not at Google. Contact bengr
2016/09/14 21:54:09
Is this test required? If proxy server is invalid
tbansal1
2016/09/14 22:04:16
No. In fact, there is a DCHECK in ProxyServer::hos
|
| cronet::Java_CronetUrlRequest_onRedirectReceived( |
| env, owner_.obj(), |
| ConvertUTF8ToJavaString(env, redirect_info.new_url.spec()).obj(), |
| @@ -209,9 +216,7 @@ void CronetURLRequestAdapter::OnReceivedRedirect( |
| ConvertUTF8ToJavaString(env, |
| request->response_info().npn_negotiated_protocol) |
| .obj(), |
| - ConvertUTF8ToJavaString(env, |
| - request->response_info().proxy_server.ToString()) |
| - .obj(), |
| + ConvertUTF8ToJavaString(env, host_port_pair.ToString()).obj(), |
| request->GetTotalReceivedBytes()); |
| *defer_redirect = true; |
| } |
| @@ -244,6 +249,11 @@ void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* request) { |
| if (MaybeReportError(request)) |
| return; |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| + const net::HostPortPair host_port_pair = |
| + !request->response_info().proxy_server.is_valid() || |
| + request->response_info().proxy_server.is_direct() |
| + ? net::HostPortPair() |
| + : request->response_info().proxy_server.host_port_pair(); |
| cronet::Java_CronetUrlRequest_onResponseStarted( |
| env, owner_.obj(), request->GetResponseCode(), |
| ConvertUTF8ToJavaString(env, request->response_headers()->GetStatusText()) |
| @@ -253,9 +263,7 @@ void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* request) { |
| ConvertUTF8ToJavaString(env, |
| request->response_info().npn_negotiated_protocol) |
| .obj(), |
| - ConvertUTF8ToJavaString(env, |
| - request->response_info().proxy_server.ToString()) |
| - .obj()); |
| + ConvertUTF8ToJavaString(env, host_port_pair.ToString()).obj()); |
| } |
| void CronetURLRequestAdapter::OnReadCompleted(net::URLRequest* request, |