summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorbengr@chromium.org <bengr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 00:40:45 +0000
committerbengr@chromium.org <bengr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 00:40:45 +0000
commitf050fde24a3e98b1a1a003afb46fc719b46c9c6f (patch)
tree574a22d1501aaf8d7b6a71ad2ce767e912410731 /content/renderer
parented5af1cb0a27c65f1c468498eddf2f325351dc56 (diff)
downloadchromium_src-f050fde24a3e98b1a1a003afb46fc719b46c9c6f.zip
chromium_src-f050fde24a3e98b1a1a003afb46fc719b46c9c6f.tar.gz
chromium_src-f050fde24a3e98b1a1a003afb46fc719b46c9c6f.tar.bz2
Reload with extra headers.
Added logic to make it possible to have browser-initiated navigations add extra HTTP request headers. BUG=174457 Review URL: https://chromiumcodereview.appspot.com/12736005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189476 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/render_view_impl.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 1f75f19..1c9044a 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -3296,6 +3296,7 @@ NavigationState* RenderViewImpl::CreateNavigationStateFromPending() {
navigation_state->set_transferred_request_request_id(
params.transferred_request_request_id);
navigation_state->set_allow_download(params.allow_download);
+ navigation_state->set_extra_headers(params.extra_headers);
} else {
navigation_state = NavigationState::CreateContentInitiated();
}
@@ -3801,6 +3802,16 @@ void RenderViewImpl::willSendRequest(WebFrame* frame,
request.setRequestorID(routing_id_);
request.setHasUserGesture(WebUserGestureIndicator::isProcessingUserGesture());
+ if (!navigation_state->extra_headers().empty()) {
+ for (net::HttpUtil::HeadersIterator i(
+ navigation_state->extra_headers().begin(),
+ navigation_state->extra_headers().end(), "\n");
+ i.GetNext(); ) {
+ request.setHTTPHeaderField(WebString::fromUTF8(i.name()),
+ WebString::fromUTF8(i.values()));
+ }
+ }
+
if (!renderer_preferences_.enable_referrers)
request.clearHTTPHeaderField("Referer");
}