| 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 6e79bb5d431f7f296ae374228bbe1d7bfa25fb02..0a637e61abe41f6f29dcbc416f55611d0f803f07 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"
|
| @@ -197,6 +198,12 @@ void CronetURLRequestAdapter::OnReceivedRedirect(
|
| bool* defer_redirect) {
|
| DCHECK(context_->IsOnNetworkThread());
|
| 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_onRedirectReceived(
|
| env, owner_.obj(),
|
| ConvertUTF8ToJavaString(env, redirect_info.new_url.spec()).obj(),
|
| @@ -208,9 +215,7 @@ void CronetURLRequestAdapter::OnReceivedRedirect(
|
| ConvertUTF8ToJavaString(env,
|
| request->response_info().alpn_negotiated_protocol)
|
| .obj(),
|
| - ConvertUTF8ToJavaString(env,
|
| - request->response_info().proxy_server.ToString())
|
| - .obj(),
|
| + ConvertUTF8ToJavaString(env, host_port_pair.ToString()).obj(),
|
| request->GetTotalReceivedBytes());
|
| *defer_redirect = true;
|
| }
|
| @@ -248,6 +253,11 @@ void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* 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())
|
| @@ -257,9 +267,7 @@ void CronetURLRequestAdapter::OnResponseStarted(net::URLRequest* request,
|
| ConvertUTF8ToJavaString(env,
|
| request->response_info().alpn_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,
|
|
|