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

Unified Diff: content/renderer/render_view_impl.cc

Issue 135973009: Don't try to guess the referrer policy, but use the one associated with the request (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 11 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
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | webkit/child/weburlloader_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index efb2ed78b69b10f4b61a6bf7ffcc76b1632f185e..8e7b8b3939ab9d1de87de315ca90722e519144f5 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -389,20 +389,11 @@ void RenderViewImpl::GetRedirectChain(WebDataSource* ds,
}
// static
-WebReferrerPolicy RenderViewImpl::GetReferrerPolicyFromRequest(
- WebFrame* frame,
- const WebURLRequest& request) {
- return request.extraData() ?
- static_cast<RequestExtraData*>(request.extraData())->referrer_policy() :
- frame->document().referrerPolicy();
-}
-
-// static
Referrer RenderViewImpl::GetReferrerFromRequest(
WebFrame* frame,
const WebURLRequest& request) {
return Referrer(GURL(request.httpHeaderField(WebString::fromUTF8("Referer"))),
- GetReferrerPolicyFromRequest(frame, request));
+ request.referrerPolicy());
}
// static
@@ -1483,7 +1474,7 @@ void RenderViewImpl::OnNavigate(const ViewMsg_Navigate_Params& params) {
params.url,
WebString::fromUTF8(params.referrer.url.spec()));
if (!referrer.isEmpty())
- request.setHTTPHeaderField(WebString::fromUTF8("Referer"), referrer);
+ request.setHTTPReferrer(referrer, params.referrer.policy);
}
if (!params.extra_headers.empty()) {
@@ -1959,8 +1950,8 @@ void RenderViewImpl::UpdateURL(WebFrame* frame) {
// If the page contained a client redirect (meta refresh, document.loc...),
// set the referrer and transition appropriately.
if (ds->isClientRedirect()) {
- params.referrer = Referrer(params.redirects[0],
- GetReferrerPolicyFromRequest(frame, ds->request()));
+ params.referrer =
+ Referrer(params.redirects[0], ds->request().referrerPolicy());
params.transition = static_cast<PageTransition>(
params.transition | PAGE_TRANSITION_CLIENT_REDIRECT);
} else {
@@ -3414,7 +3405,6 @@ void RenderViewImpl::PopulateDocumentStateFromPending(
else
document_state->set_load_type(DocumentState::NORMAL_LOAD);
- internal_data->set_referrer_policy(params.referrer.policy);
internal_data->set_is_overriding_user_agent(params.is_overriding_user_agent);
internal_data->set_must_reset_scroll_and_scale_state(
params.navigation_type ==
@@ -3499,7 +3489,6 @@ void RenderViewImpl::didCommitProvisionalLoad(WebFrame* frame,
internal_data->set_must_reset_scroll_and_scale_state(false);
}
internal_data->set_use_error_page(false);
- internal_data->clear_referrer_policy();
if (is_new_navigation) {
// When we perform a new navigation, we need to update the last committed
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | webkit/child/weburlloader_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698