| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/child/web_url_loader_impl.h" | 5 #include "content/child/web_url_loader_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 resource_request->load_flags = GetLoadFlagsForWebURLRequest(request); | 564 resource_request->load_flags = GetLoadFlagsForWebURLRequest(request); |
| 565 // origin_pid only needs to be non-zero if the request originates outside | 565 // origin_pid only needs to be non-zero if the request originates outside |
| 566 // the render process, so we can use requestorProcessID even for requests | 566 // the render process, so we can use requestorProcessID even for requests |
| 567 // from in-process plugins. | 567 // from in-process plugins. |
| 568 resource_request->origin_pid = request.requestorProcessID(); | 568 resource_request->origin_pid = request.requestorProcessID(); |
| 569 resource_request->resource_type = WebURLRequestToResourceType(request); | 569 resource_request->resource_type = WebURLRequestToResourceType(request); |
| 570 resource_request->priority = | 570 resource_request->priority = |
| 571 ConvertWebKitPriorityToNetPriority(request.getPriority()); | 571 ConvertWebKitPriorityToNetPriority(request.getPriority()); |
| 572 resource_request->appcache_host_id = request.appCacheHostID(); | 572 resource_request->appcache_host_id = request.appCacheHostID(); |
| 573 resource_request->should_reset_appcache = request.shouldResetAppCache(); | 573 resource_request->should_reset_appcache = request.shouldResetAppCache(); |
| 574 resource_request->skip_service_worker = | 574 resource_request->service_worker_mode = |
| 575 GetSkipServiceWorkerForWebURLRequest(request); | 575 GetServiceWorkerModeForWebURLRequest(request); |
| 576 resource_request->fetch_request_mode = | 576 resource_request->fetch_request_mode = |
| 577 GetFetchRequestModeForWebURLRequest(request); | 577 GetFetchRequestModeForWebURLRequest(request); |
| 578 resource_request->fetch_credentials_mode = | 578 resource_request->fetch_credentials_mode = |
| 579 GetFetchCredentialsModeForWebURLRequest(request); | 579 GetFetchCredentialsModeForWebURLRequest(request); |
| 580 resource_request->fetch_redirect_mode = | 580 resource_request->fetch_redirect_mode = |
| 581 GetFetchRedirectModeForWebURLRequest(request); | 581 GetFetchRedirectModeForWebURLRequest(request); |
| 582 resource_request->fetch_request_context_type = | 582 resource_request->fetch_request_context_type = |
| 583 GetRequestContextTypeForWebURLRequest(request); | 583 GetRequestContextTypeForWebURLRequest(request); |
| 584 resource_request->fetch_mixed_content_context_type = | 584 resource_request->fetch_mixed_content_context_type = |
| 585 GetMixedContentContextTypeForWebURLRequest(request); | 585 GetMixedContentContextTypeForWebURLRequest(request); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 "loading", "WebURLLoaderImpl::Context::OnReceivedRedirect", | 660 "loading", "WebURLLoaderImpl::Context::OnReceivedRedirect", |
| 661 this, TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT); | 661 this, TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT); |
| 662 | 662 |
| 663 WebURLResponse response; | 663 WebURLResponse response; |
| 664 PopulateURLResponse(request_.url(), info, &response, | 664 PopulateURLResponse(request_.url(), info, &response, |
| 665 request_.reportRawHeaders()); | 665 request_.reportRawHeaders()); |
| 666 | 666 |
| 667 WebURLRequest new_request = PopulateURLRequestForRedirect( | 667 WebURLRequest new_request = PopulateURLRequestForRedirect( |
| 668 request_, redirect_info, | 668 request_, redirect_info, |
| 669 info.was_fetched_via_service_worker | 669 info.was_fetched_via_service_worker |
| 670 ? blink::WebURLRequest::SkipServiceWorker::None | 670 ? blink::WebURLRequest::ServiceWorkerMode::All |
| 671 : blink::WebURLRequest::SkipServiceWorker::All); | 671 : blink::WebURLRequest::ServiceWorkerMode::None); |
| 672 | 672 |
| 673 bool follow = client_->willFollowRedirect(new_request, response); | 673 bool follow = client_->willFollowRedirect(new_request, response); |
| 674 if (!follow) { | 674 if (!follow) { |
| 675 request_ = WebURLRequest(); | 675 request_ = WebURLRequest(); |
| 676 | 676 |
| 677 return false; | 677 return false; |
| 678 } | 678 } |
| 679 | 679 |
| 680 DCHECK(WebURL(redirect_info.new_url) == new_request.url()); | 680 DCHECK(WebURL(redirect_info.new_url) == new_request.url()); |
| 681 | 681 |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1155 std::string value; | 1155 std::string value; |
| 1156 while (headers->EnumerateHeaderLines(&iter, &name, &value)) { | 1156 while (headers->EnumerateHeaderLines(&iter, &name, &value)) { |
| 1157 response->addHTTPHeaderField(WebString::fromLatin1(name), | 1157 response->addHTTPHeaderField(WebString::fromLatin1(name), |
| 1158 WebString::fromLatin1(value)); | 1158 WebString::fromLatin1(value)); |
| 1159 } | 1159 } |
| 1160 } | 1160 } |
| 1161 | 1161 |
| 1162 WebURLRequest WebURLLoaderImpl::PopulateURLRequestForRedirect( | 1162 WebURLRequest WebURLLoaderImpl::PopulateURLRequestForRedirect( |
| 1163 const blink::WebURLRequest& request, | 1163 const blink::WebURLRequest& request, |
| 1164 const net::RedirectInfo& redirect_info, | 1164 const net::RedirectInfo& redirect_info, |
| 1165 blink::WebURLRequest::SkipServiceWorker skip_service_worker) { | 1165 blink::WebURLRequest::ServiceWorkerMode service_worker_mode) { |
| 1166 // TODO(darin): We lack sufficient information to construct the actual | 1166 // TODO(darin): We lack sufficient information to construct the actual |
| 1167 // request that resulted from the redirect. | 1167 // request that resulted from the redirect. |
| 1168 WebURLRequest new_request(redirect_info.new_url); | 1168 WebURLRequest new_request(redirect_info.new_url); |
| 1169 new_request.setFirstPartyForCookies( | 1169 new_request.setFirstPartyForCookies( |
| 1170 redirect_info.new_first_party_for_cookies); | 1170 redirect_info.new_first_party_for_cookies); |
| 1171 new_request.setDownloadToFile(request.downloadToFile()); | 1171 new_request.setDownloadToFile(request.downloadToFile()); |
| 1172 new_request.setUseStreamOnResponse(request.useStreamOnResponse()); | 1172 new_request.setUseStreamOnResponse(request.useStreamOnResponse()); |
| 1173 new_request.setRequestContext(request.getRequestContext()); | 1173 new_request.setRequestContext(request.getRequestContext()); |
| 1174 new_request.setFrameType(request.getFrameType()); | 1174 new_request.setFrameType(request.getFrameType()); |
| 1175 new_request.setSkipServiceWorker(skip_service_worker); | 1175 new_request.setServiceWorkerMode(service_worker_mode); |
| 1176 new_request.setShouldResetAppCache(request.shouldResetAppCache()); | 1176 new_request.setShouldResetAppCache(request.shouldResetAppCache()); |
| 1177 new_request.setFetchRequestMode(request.getFetchRequestMode()); | 1177 new_request.setFetchRequestMode(request.getFetchRequestMode()); |
| 1178 new_request.setFetchCredentialsMode(request.getFetchCredentialsMode()); | 1178 new_request.setFetchCredentialsMode(request.getFetchCredentialsMode()); |
| 1179 | 1179 |
| 1180 new_request.setHTTPReferrer(WebString::fromUTF8(redirect_info.new_referrer), | 1180 new_request.setHTTPReferrer(WebString::fromUTF8(redirect_info.new_referrer), |
| 1181 NetReferrerPolicyToBlinkReferrerPolicy( | 1181 NetReferrerPolicyToBlinkReferrerPolicy( |
| 1182 redirect_info.new_referrer_policy)); | 1182 redirect_info.new_referrer_policy)); |
| 1183 new_request.setPriority(request.getPriority()); | 1183 new_request.setPriority(request.getPriority()); |
| 1184 | 1184 |
| 1185 std::string old_method = request.httpMethod().utf8(); | 1185 std::string old_method = request.httpMethod().utf8(); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1247 int intra_priority_value) { | 1247 int intra_priority_value) { |
| 1248 context_->DidChangePriority(new_priority, intra_priority_value); | 1248 context_->DidChangePriority(new_priority, intra_priority_value); |
| 1249 } | 1249 } |
| 1250 | 1250 |
| 1251 void WebURLLoaderImpl::setLoadingTaskRunner( | 1251 void WebURLLoaderImpl::setLoadingTaskRunner( |
| 1252 base::SingleThreadTaskRunner* loading_task_runner) { | 1252 base::SingleThreadTaskRunner* loading_task_runner) { |
| 1253 context_->SetTaskRunner(loading_task_runner); | 1253 context_->SetTaskRunner(loading_task_runner); |
| 1254 } | 1254 } |
| 1255 | 1255 |
| 1256 } // namespace content | 1256 } // namespace content |
| OLD | NEW |