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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 2918313002: Implement new referrer policies (Closed)
Patch Set: rebase Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 IsBrowserSideNavigationEnabled() && 405 IsBrowserSideNavigationEnabled() &&
406 !request_params.original_method.empty() 406 !request_params.original_method.empty()
407 ? request_params.original_method 407 ? request_params.original_method
408 : common_params.method; 408 : common_params.method;
409 WebURLRequest request(navigation_url); 409 WebURLRequest request(navigation_url);
410 request.SetHTTPMethod(WebString::FromUTF8(navigation_method)); 410 request.SetHTTPMethod(WebString::FromUTF8(navigation_method));
411 411
412 if (is_view_source_mode_enabled) 412 if (is_view_source_mode_enabled)
413 request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad); 413 request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad);
414 414
415 WebString web_referrer;
415 if (common_params.referrer.url.is_valid()) { 416 if (common_params.referrer.url.is_valid()) {
416 WebString web_referrer = WebSecurityPolicy::GenerateReferrerHeader( 417 web_referrer = WebSecurityPolicy::GenerateReferrerHeader(
417 common_params.referrer.policy, common_params.url, 418 common_params.referrer.policy, common_params.url,
418 WebString::FromUTF8(common_params.referrer.url.spec())); 419 WebString::FromUTF8(common_params.referrer.url.spec()));
420 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
419 if (!web_referrer.IsEmpty()) { 421 if (!web_referrer.IsEmpty()) {
420 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
421 request.AddHTTPOriginIfNeeded( 422 request.AddHTTPOriginIfNeeded(
422 WebSecurityOrigin(url::Origin(common_params.referrer.url))); 423 WebSecurityOrigin(url::Origin(common_params.referrer.url)));
423 } 424 }
424 } 425 }
425 426
427 if (!web_referrer.IsEmpty() ||
428 common_params.referrer.policy != blink::kWebReferrerPolicyDefault) {
429 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
430 }
431
426 request.SetIsSameDocumentNavigation(is_same_document_navigation); 432 request.SetIsSameDocumentNavigation(is_same_document_navigation);
427 request.SetPreviewsState( 433 request.SetPreviewsState(
428 static_cast<WebURLRequest::PreviewsState>(common_params.previews_state)); 434 static_cast<WebURLRequest::PreviewsState>(common_params.previews_state));
429 435
430 RequestExtraData* extra_data = new RequestExtraData(); 436 RequestExtraData* extra_data = new RequestExtraData();
431 extra_data->set_stream_override(std::move(stream_override)); 437 extra_data->set_stream_override(std::move(stream_override));
432 extra_data->set_navigation_initiated_by_renderer( 438 extra_data->set_navigation_initiated_by_renderer(
433 request_params.nav_entry_id == 0); 439 request_params.nav_entry_id == 0);
434 request.SetExtraData(extra_data); 440 request.SetExtraData(extra_data);
435 441
(...skipping 6359 matching lines...) Expand 10 before | Expand all | Expand 10 after
6795 policy(info.default_policy), 6801 policy(info.default_policy),
6796 replaces_current_history_item(info.replaces_current_history_item), 6802 replaces_current_history_item(info.replaces_current_history_item),
6797 history_navigation_in_new_child_frame( 6803 history_navigation_in_new_child_frame(
6798 info.is_history_navigation_in_new_child_frame), 6804 info.is_history_navigation_in_new_child_frame),
6799 client_redirect(info.is_client_redirect), 6805 client_redirect(info.is_client_redirect),
6800 cache_disabled(info.is_cache_disabled), 6806 cache_disabled(info.is_cache_disabled),
6801 form(info.form), 6807 form(info.form),
6802 source_location(info.source_location) {} 6808 source_location(info.source_location) {}
6803 6809
6804 } // namespace content 6810 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698