diff options
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/render_view_impl.cc | 11 |
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"); } |