| 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 24 matching lines...) Expand all Loading... |
| 35 #include "content/common/resource_request_body_impl.h" | 35 #include "content/common/resource_request_body_impl.h" |
| 36 #include "content/common/service_worker/service_worker_types.h" | 36 #include "content/common/service_worker/service_worker_types.h" |
| 37 #include "content/common/ssl_status_serialization.h" | 37 #include "content/common/ssl_status_serialization.h" |
| 38 #include "content/common/url_loader.mojom.h" | 38 #include "content/common/url_loader.mojom.h" |
| 39 #include "content/public/child/fixed_received_data.h" | 39 #include "content/public/child/fixed_received_data.h" |
| 40 #include "content/public/child/request_peer.h" | 40 #include "content/public/child/request_peer.h" |
| 41 #include "content/public/common/browser_side_navigation_policy.h" | 41 #include "content/public/common/browser_side_navigation_policy.h" |
| 42 #include "content/public/common/ssl_status.h" | 42 #include "content/public/common/ssl_status.h" |
| 43 #include "net/base/data_url.h" | 43 #include "net/base/data_url.h" |
| 44 #include "net/base/filename_util.h" | 44 #include "net/base/filename_util.h" |
| 45 #include "net/base/load_flags.h" |
| 45 #include "net/base/net_errors.h" | 46 #include "net/base/net_errors.h" |
| 46 #include "net/cert/cert_status_flags.h" | 47 #include "net/cert/cert_status_flags.h" |
| 47 #include "net/cert/ct_sct_to_string.h" | 48 #include "net/cert/ct_sct_to_string.h" |
| 48 #include "net/http/http_response_headers.h" | 49 #include "net/http/http_response_headers.h" |
| 49 #include "net/http/http_util.h" | 50 #include "net/http/http_util.h" |
| 50 #include "net/ssl/ssl_cipher_suite_names.h" | 51 #include "net/ssl/ssl_cipher_suite_names.h" |
| 51 #include "net/ssl/ssl_connection_status_flags.h" | 52 #include "net/ssl/ssl_connection_status_flags.h" |
| 52 #include "net/url_request/url_request_data_job.h" | 53 #include "net/url_request/url_request_data_job.h" |
| 53 #include "third_party/WebKit/public/platform/WebHTTPLoadInfo.h" | 54 #include "third_party/WebKit/public/platform/WebHTTPLoadInfo.h" |
| 54 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" | 55 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 ConvertWebKitPriorityToNetPriority(new_priority), | 443 ConvertWebKitPriorityToNetPriority(new_priority), |
| 443 intra_priority_value); | 444 intra_priority_value); |
| 444 } | 445 } |
| 445 } | 446 } |
| 446 | 447 |
| 447 void WebURLLoaderImpl::Context::Start(const WebURLRequest& request, | 448 void WebURLLoaderImpl::Context::Start(const WebURLRequest& request, |
| 448 SyncLoadResponse* sync_load_response) { | 449 SyncLoadResponse* sync_load_response) { |
| 449 DCHECK(request_id_ == -1); | 450 DCHECK(request_id_ == -1); |
| 450 request_ = request; // Save the request. | 451 request_ = request; // Save the request. |
| 451 GURL url = request.url(); | 452 GURL url = request.url(); |
| 452 | |
| 453 if (CanHandleDataURLRequestLocally()) { | 453 if (CanHandleDataURLRequestLocally()) { |
| 454 if (sync_load_response) { | 454 if (sync_load_response) { |
| 455 // This is a sync load. Do the work now. | 455 // This is a sync load. Do the work now. |
| 456 sync_load_response->url = url; | 456 sync_load_response->url = url; |
| 457 sync_load_response->error_code = | 457 sync_load_response->error_code = |
| 458 GetInfoFromDataURL(sync_load_response->url, sync_load_response, | 458 GetInfoFromDataURL(sync_load_response->url, sync_load_response, |
| 459 &sync_load_response->data); | 459 &sync_load_response->data); |
| 460 } else { | 460 } else { |
| 461 task_runner_->PostTask(FROM_HERE, | 461 task_runner_->PostTask(FROM_HERE, |
| 462 base::Bind(&Context::HandleDataURL, this)); | 462 base::Bind(&Context::HandleDataURL, this)); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 492 request_info.method = method; | 492 request_info.method = method; |
| 493 request_info.url = url; | 493 request_info.url = url; |
| 494 request_info.first_party_for_cookies = request.firstPartyForCookies(); | 494 request_info.first_party_for_cookies = request.firstPartyForCookies(); |
| 495 request_info.request_initiator = request.requestorOrigin(); | 495 request_info.request_initiator = request.requestorOrigin(); |
| 496 referrer_policy_ = request.referrerPolicy(); | 496 referrer_policy_ = request.referrerPolicy(); |
| 497 request_info.referrer = Referrer(referrer_url, referrer_policy_); | 497 request_info.referrer = Referrer(referrer_url, referrer_policy_); |
| 498 request_info.headers = GetWebURLRequestHeaders(request); | 498 request_info.headers = GetWebURLRequestHeaders(request); |
| 499 request_info.load_flags = GetLoadFlagsForWebURLRequest(request); | 499 request_info.load_flags = GetLoadFlagsForWebURLRequest(request); |
| 500 request_info.enable_load_timing = true; | 500 request_info.enable_load_timing = true; |
| 501 request_info.enable_upload_progress = request.reportUploadProgress(); | 501 request_info.enable_upload_progress = request.reportUploadProgress(); |
| 502 if (request_.linkPreload()) |
| 503 request_info.load_flags |= net::LOAD_PREFETCH; |
| 504 |
| 502 if (request.getRequestContext() == | 505 if (request.getRequestContext() == |
| 503 WebURLRequest::RequestContextXMLHttpRequest && | 506 WebURLRequest::RequestContextXMLHttpRequest && |
| 504 (url.has_username() || url.has_password())) { | 507 (url.has_username() || url.has_password())) { |
| 505 request_info.do_not_prompt_for_login = true; | 508 request_info.do_not_prompt_for_login = true; |
| 506 } | 509 } |
| 507 // requestor_pid only needs to be non-zero if the request originates outside | 510 // requestor_pid only needs to be non-zero if the request originates outside |
| 508 // the render process, so we can use requestorProcessID even for requests | 511 // the render process, so we can use requestorProcessID even for requests |
| 509 // from in-process plugins. | 512 // from in-process plugins. |
| 510 request_info.requestor_pid = request.requestorProcessID(); | 513 request_info.requestor_pid = request.requestorProcessID(); |
| 511 request_info.request_type = WebURLRequestToResourceType(request); | 514 request_info.request_type = WebURLRequestToResourceType(request); |
| (...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1213 response->clearHTTPHeaderField(webStringName); | 1216 response->clearHTTPHeaderField(webStringName); |
| 1214 while (response_headers->EnumerateHeader(&iterator, name, &value)) { | 1217 while (response_headers->EnumerateHeader(&iterator, name, &value)) { |
| 1215 response->addHTTPHeaderField(webStringName, | 1218 response->addHTTPHeaderField(webStringName, |
| 1216 WebString::fromLatin1(value)); | 1219 WebString::fromLatin1(value)); |
| 1217 } | 1220 } |
| 1218 } | 1221 } |
| 1219 return true; | 1222 return true; |
| 1220 } | 1223 } |
| 1221 | 1224 |
| 1222 } // namespace content | 1225 } // namespace content |
| OLD | NEW |