OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |