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

Side by Side Diff: content/child/resource_dispatcher.cc

Issue 736743003: Use content::Referrer to pass around referrers in the plugin code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
6 6
7 #include "content/child/resource_dispatcher.h" 7 #include "content/child/resource_dispatcher.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 ResourceDispatcher* dispatcher, 109 ResourceDispatcher* dispatcher,
110 const RequestInfo& request_info) 110 const RequestInfo& request_info)
111 : dispatcher_(dispatcher), 111 : dispatcher_(dispatcher),
112 request_id_(-1), 112 request_id_(-1),
113 routing_id_(request_info.routing_id), 113 routing_id_(request_info.routing_id),
114 is_synchronous_request_(false) { 114 is_synchronous_request_(false) {
115 DCHECK(dispatcher_) << "no resource dispatcher"; 115 DCHECK(dispatcher_) << "no resource dispatcher";
116 request_.method = request_info.method; 116 request_.method = request_info.method;
117 request_.url = request_info.url; 117 request_.url = request_info.url;
118 request_.first_party_for_cookies = request_info.first_party_for_cookies; 118 request_.first_party_for_cookies = request_info.first_party_for_cookies;
119 request_.referrer = request_info.referrer; 119 request_.referrer = request_info.referrer.url;
120 request_.referrer_policy = request_info.referrer_policy; 120 request_.referrer_policy = request_info.referrer.policy;
121 request_.headers = request_info.headers; 121 request_.headers = request_info.headers;
122 request_.load_flags = request_info.load_flags; 122 request_.load_flags = request_info.load_flags;
123 request_.origin_pid = request_info.requestor_pid; 123 request_.origin_pid = request_info.requestor_pid;
124 request_.resource_type = request_info.request_type; 124 request_.resource_type = request_info.request_type;
125 request_.priority = request_info.priority; 125 request_.priority = request_info.priority;
126 request_.request_context = request_info.request_context; 126 request_.request_context = request_info.request_context;
127 request_.appcache_host_id = request_info.appcache_host_id; 127 request_.appcache_host_id = request_info.appcache_host_id;
128 request_.download_to_file = request_info.download_to_file; 128 request_.download_to_file = request_info.download_to_file;
129 request_.has_user_gesture = request_info.has_user_gesture; 129 request_.has_user_gesture = request_info.has_user_gesture;
130 request_.skip_service_worker = request_info.skip_service_worker; 130 request_.skip_service_worker = request_info.skip_service_worker;
131 request_.fetch_request_mode = request_info.fetch_request_mode; 131 request_.fetch_request_mode = request_info.fetch_request_mode;
132 request_.fetch_credentials_mode = request_info.fetch_credentials_mode; 132 request_.fetch_credentials_mode = request_info.fetch_credentials_mode;
133 request_.fetch_request_context_type = request_info.fetch_request_context_type; 133 request_.fetch_request_context_type = request_info.fetch_request_context_type;
134 request_.fetch_frame_type = request_info.fetch_frame_type; 134 request_.fetch_frame_type = request_info.fetch_frame_type;
135 request_.enable_load_timing = request_info.enable_load_timing; 135 request_.enable_load_timing = request_info.enable_load_timing;
136 request_.enable_upload_progress = request_info.enable_upload_progress; 136 request_.enable_upload_progress = request_info.enable_upload_progress;
137 137
138 if ((request_info.referrer_policy == blink::WebReferrerPolicyDefault || 138 if ((request_info.referrer.policy == blink::WebReferrerPolicyDefault ||
139 request_info.referrer_policy == 139 request_info.referrer.policy ==
140 blink::WebReferrerPolicyNoReferrerWhenDowngrade) && 140 blink::WebReferrerPolicyNoReferrerWhenDowngrade) &&
141 request_info.referrer.SchemeIsSecure() && 141 request_info.referrer.url.SchemeIsSecure() &&
142 !request_info.url.SchemeIsSecure()) { 142 !request_info.url.SchemeIsSecure()) {
143 // Debug code for crbug.com/422871 143 // Debug code for crbug.com/422871
144 base::debug::DumpWithoutCrashing(); 144 base::debug::DumpWithoutCrashing();
145 DLOG(FATAL) << "Trying to send secure referrer for insecure request " 145 DLOG(FATAL) << "Trying to send secure referrer for insecure request "
146 << "without an appropriate referrer policy.\n" 146 << "without an appropriate referrer policy.\n"
147 << "URL = " << request_info.url << "\n" 147 << "URL = " << request_info.url << "\n"
148 << "Referrer = " << request_info.referrer; 148 << "Referrer = " << request_info.referrer.url;
149 } 149 }
150 150
151 const RequestExtraData kEmptyData; 151 const RequestExtraData kEmptyData;
152 const RequestExtraData* extra_data; 152 const RequestExtraData* extra_data;
153 if (request_info.extra_data) 153 if (request_info.extra_data)
154 extra_data = static_cast<RequestExtraData*>(request_info.extra_data); 154 extra_data = static_cast<RequestExtraData*>(request_info.extra_data);
155 else 155 else
156 extra_data = &kEmptyData; 156 extra_data = &kEmptyData;
157 request_.visiblity_state = extra_data->visibility_state(); 157 request_.visiblity_state = extra_data->visibility_state();
158 request_.render_frame_id = extra_data->render_frame_id(); 158 request_.render_frame_id = extra_data->render_frame_id();
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { 900 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) {
901 while (!queue->empty()) { 901 while (!queue->empty()) {
902 IPC::Message* message = queue->front(); 902 IPC::Message* message = queue->front();
903 ReleaseResourcesInDataMessage(*message); 903 ReleaseResourcesInDataMessage(*message);
904 queue->pop_front(); 904 queue->pop_front();
905 delete message; 905 delete message;
906 } 906 }
907 } 907 }
908 908
909 } // namespace content 909 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698