From f050fde24a3e98b1a1a003afb46fc719b46c9c6f Mon Sep 17 00:00:00 2001 From: "bengr@chromium.org" Date: Thu, 21 Mar 2013 00:40:45 +0000 Subject: 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 --- content/renderer/render_view_impl.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'content/renderer') 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"); } -- cgit v1.1