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

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

Issue 2918313002: Implement new referrer policies (Closed)
Patch Set: update public/platform/OWNERS per presubmit 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
« no previous file with comments | « content/public/common/referrer.cc ('k') | ios/web/public/referrer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 IsBrowserSideNavigationEnabled() && 408 IsBrowserSideNavigationEnabled() &&
409 !request_params.original_method.empty() 409 !request_params.original_method.empty()
410 ? request_params.original_method 410 ? request_params.original_method
411 : common_params.method; 411 : common_params.method;
412 WebURLRequest request(navigation_url); 412 WebURLRequest request(navigation_url);
413 request.SetHTTPMethod(WebString::FromUTF8(navigation_method)); 413 request.SetHTTPMethod(WebString::FromUTF8(navigation_method));
414 414
415 if (is_view_source_mode_enabled) 415 if (is_view_source_mode_enabled)
416 request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad); 416 request.SetCachePolicy(WebCachePolicy::kReturnCacheDataElseLoad);
417 417
418 WebString web_referrer;
418 if (common_params.referrer.url.is_valid()) { 419 if (common_params.referrer.url.is_valid()) {
419 WebString web_referrer = WebSecurityPolicy::GenerateReferrerHeader( 420 web_referrer = WebSecurityPolicy::GenerateReferrerHeader(
420 common_params.referrer.policy, common_params.url, 421 common_params.referrer.policy, common_params.url,
421 WebString::FromUTF8(common_params.referrer.url.spec())); 422 WebString::FromUTF8(common_params.referrer.url.spec()));
423 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
422 if (!web_referrer.IsEmpty()) { 424 if (!web_referrer.IsEmpty()) {
423 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
424 request.AddHTTPOriginIfNeeded( 425 request.AddHTTPOriginIfNeeded(
425 WebSecurityOrigin(url::Origin(common_params.referrer.url))); 426 WebSecurityOrigin(url::Origin(common_params.referrer.url)));
426 } 427 }
427 } 428 }
428 429
430 if (!web_referrer.IsEmpty() ||
431 common_params.referrer.policy != blink::kWebReferrerPolicyDefault) {
432 request.SetHTTPReferrer(web_referrer, common_params.referrer.policy);
433 }
434
429 request.SetIsSameDocumentNavigation(is_same_document_navigation); 435 request.SetIsSameDocumentNavigation(is_same_document_navigation);
430 request.SetPreviewsState( 436 request.SetPreviewsState(
431 static_cast<WebURLRequest::PreviewsState>(common_params.previews_state)); 437 static_cast<WebURLRequest::PreviewsState>(common_params.previews_state));
432 438
433 RequestExtraData* extra_data = new RequestExtraData(); 439 RequestExtraData* extra_data = new RequestExtraData();
434 extra_data->set_stream_override(std::move(stream_override)); 440 extra_data->set_stream_override(std::move(stream_override));
435 extra_data->set_navigation_initiated_by_renderer( 441 extra_data->set_navigation_initiated_by_renderer(
436 request_params.nav_entry_id == 0); 442 request_params.nav_entry_id == 0);
437 request.SetExtraData(extra_data); 443 request.SetExtraData(extra_data);
438 444
(...skipping 6408 matching lines...) Expand 10 before | Expand all | Expand 10 after
6847 policy(info.default_policy), 6853 policy(info.default_policy),
6848 replaces_current_history_item(info.replaces_current_history_item), 6854 replaces_current_history_item(info.replaces_current_history_item),
6849 history_navigation_in_new_child_frame( 6855 history_navigation_in_new_child_frame(
6850 info.is_history_navigation_in_new_child_frame), 6856 info.is_history_navigation_in_new_child_frame),
6851 client_redirect(info.is_client_redirect), 6857 client_redirect(info.is_client_redirect),
6852 cache_disabled(info.is_cache_disabled), 6858 cache_disabled(info.is_cache_disabled),
6853 form(info.form), 6859 form(info.form),
6854 source_location(info.source_location) {} 6860 source_location(info.source_location) {}
6855 6861
6856 } // namespace content 6862 } // namespace content
OLDNEW
« no previous file with comments | « content/public/common/referrer.cc ('k') | ios/web/public/referrer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698