| 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 |