summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbryner@chromium.org <bryner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-25 02:13:03 +0000
committerbryner@chromium.org <bryner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-25 02:13:03 +0000
commitb9a7c6d44fdfe0def2634d49afa8c0080d206898 (patch)
treeae3748de4934ac0975ac177f1c64d68060d28a4d
parente4a015104a2b353a1eaea3a299f333eceadbc601 (diff)
downloadchromium_src-b9a7c6d44fdfe0def2634d49afa8c0080d206898.zip
chromium_src-b9a7c6d44fdfe0def2634d49afa8c0080d206898.tar.gz
chromium_src-b9a7c6d44fdfe0def2634d49afa8c0080d206898.tar.bz2
Propagate was_fetched_via_proxy to ViewHostMsg_FrameNavigate. We'll use this
for client-sie phishing detection, and it will also be useful if the WebRequest API wants to handle proxied connections differently when exposing the socket address. BUG=none TEST=none Review URL: http://codereview.chromium.org/6579001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76014 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/common/render_messages_params.cc9
-rw-r--r--chrome/common/render_messages_params.h4
-rw-r--r--chrome/renderer/render_view.cc1
3 files changed, 12 insertions, 2 deletions
diff --git a/chrome/common/render_messages_params.cc b/chrome/common/render_messages_params.cc
index 79a941f..2a94a91 100644
--- a/chrome/common/render_messages_params.cc
+++ b/chrome/common/render_messages_params.cc
@@ -31,7 +31,8 @@ ViewHostMsg_FrameNavigate_Params::ViewHostMsg_FrameNavigate_Params()
is_post(false),
is_content_filtered(false),
was_within_same_page(false),
- http_status_code(0) {
+ http_status_code(0),
+ was_fetched_via_proxy(false) {
}
ViewHostMsg_FrameNavigate_Params::~ViewHostMsg_FrameNavigate_Params() {
@@ -773,6 +774,7 @@ void ParamTraits<ViewHostMsg_FrameNavigate_Params>::Write(Message* m,
WriteParam(m, p.was_within_same_page);
WriteParam(m, p.http_status_code);
WriteParam(m, p.socket_address);
+ WriteParam(m, p.was_fetched_via_proxy);
}
bool ParamTraits<ViewHostMsg_FrameNavigate_Params>::Read(const Message* m,
@@ -796,7 +798,8 @@ bool ParamTraits<ViewHostMsg_FrameNavigate_Params>::Read(const Message* m,
ReadParam(m, iter, &p->is_content_filtered) &&
ReadParam(m, iter, &p->was_within_same_page) &&
ReadParam(m, iter, &p->http_status_code) &&
- ReadParam(m, iter, &p->socket_address);
+ ReadParam(m, iter, &p->socket_address) &&
+ ReadParam(m, iter, &p->was_fetched_via_proxy);
}
void ParamTraits<ViewHostMsg_FrameNavigate_Params>::Log(const param_type& p,
@@ -837,6 +840,8 @@ void ParamTraits<ViewHostMsg_FrameNavigate_Params>::Log(const param_type& p,
LogParam(p.http_status_code, l);
l->append(", ");
LogParam(p.socket_address, l);
+ l->append(", ");
+ LogParam(p.was_fetched_via_proxy, l);
l->append(")");
}
diff --git a/chrome/common/render_messages_params.h b/chrome/common/render_messages_params.h
index fbd9dbb..be04a91 100644
--- a/chrome/common/render_messages_params.h
+++ b/chrome/common/render_messages_params.h
@@ -307,6 +307,10 @@ struct ViewHostMsg_FrameNavigate_Params {
// Remote address of the socket which fetched this resource.
net::HostPortPair socket_address;
+
+ // True if the connection was proxied. In this case, socket_address
+ // will represent the address of the proxy, rather than the remote host.
+ bool was_fetched_via_proxy;
};
// Values that may be OR'd together to form the 'flags' parameter of a
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 994d6b9..9ff8a7e 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1647,6 +1647,7 @@ void RenderView::UpdateURL(WebFrame* frame) {
params.is_content_filtered = response.isContentFiltered();
params.socket_address.set_host(response.remoteIPAddress().utf8());
params.socket_address.set_port(response.remotePort());
+ params.was_fetched_via_proxy = response.wasFetchedViaProxy();
params.was_within_same_page = navigation_state->was_within_same_page();
if (!navigation_state->security_info().empty()) {
// SSL state specified in the request takes precedence over the one in the