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 |