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

Unified Diff: components/cronet/android/cronet_url_request_adapter.cc

Issue 2334623003: Store net::ProxyServer in HttpResponseInfo object (Closed)
Patch Set: PS Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698