| 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/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 #include "content/public/browser/download_url_parameters.h" | 70 #include "content/public/browser/download_url_parameters.h" |
| 71 #include "content/public/browser/global_request_id.h" | 71 #include "content/public/browser/global_request_id.h" |
| 72 #include "content/public/browser/plugin_service.h" | 72 #include "content/public/browser/plugin_service.h" |
| 73 #include "content/public/browser/resource_dispatcher_host_delegate.h" | 73 #include "content/public/browser/resource_dispatcher_host_delegate.h" |
| 74 #include "content/public/browser/resource_request_details.h" | 74 #include "content/public/browser/resource_request_details.h" |
| 75 #include "content/public/browser/resource_throttle.h" | 75 #include "content/public/browser/resource_throttle.h" |
| 76 #include "content/public/browser/stream_handle.h" | 76 #include "content/public/browser/stream_handle.h" |
| 77 #include "content/public/browser/stream_info.h" | 77 #include "content/public/browser/stream_info.h" |
| 78 #include "content/public/browser/user_metrics.h" | 78 #include "content/public/browser/user_metrics.h" |
| 79 #include "content/public/common/content_switches.h" | 79 #include "content/public/common/content_switches.h" |
| 80 #include "content/public/common/data_reduction_proxy_lofi_user_data.h" |
| 80 #include "content/public/common/process_type.h" | 81 #include "content/public/common/process_type.h" |
| 81 #include "ipc/ipc_message_macros.h" | 82 #include "ipc/ipc_message_macros.h" |
| 82 #include "ipc/ipc_message_start.h" | 83 #include "ipc/ipc_message_start.h" |
| 83 #include "net/base/auth.h" | 84 #include "net/base/auth.h" |
| 84 #include "net/base/load_flags.h" | 85 #include "net/base/load_flags.h" |
| 85 #include "net/base/mime_util.h" | 86 #include "net/base/mime_util.h" |
| 86 #include "net/base/net_errors.h" | 87 #include "net/base/net_errors.h" |
| 87 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 88 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| 88 #include "net/base/request_priority.h" | 89 #include "net/base/request_priority.h" |
| 89 #include "net/base/upload_data_stream.h" | 90 #include "net/base/upload_data_stream.h" |
| (...skipping 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1223 return; | 1224 return; |
| 1224 } | 1225 } |
| 1225 | 1226 |
| 1226 // Construct the request. | 1227 // Construct the request. |
| 1227 scoped_ptr<net::URLRequest> new_request = request_context->CreateRequest( | 1228 scoped_ptr<net::URLRequest> new_request = request_context->CreateRequest( |
| 1228 request_data.url, request_data.priority, NULL); | 1229 request_data.url, request_data.priority, NULL); |
| 1229 | 1230 |
| 1230 new_request->set_method(request_data.method); | 1231 new_request->set_method(request_data.method); |
| 1231 new_request->set_first_party_for_cookies( | 1232 new_request->set_first_party_for_cookies( |
| 1232 request_data.first_party_for_cookies); | 1233 request_data.first_party_for_cookies); |
| 1234 new_request->SetUserData( |
| 1235 DataReductionProxyLoFiUserData::kUserDataKey, |
| 1236 new DataReductionProxyLoFiUserData(request_data.lofi_state)); |
| 1233 | 1237 |
| 1234 // If the request is a MAIN_FRAME request, the first-party URL gets updated on | 1238 // If the request is a MAIN_FRAME request, the first-party URL gets updated on |
| 1235 // redirects. | 1239 // redirects. |
| 1236 if (request_data.resource_type == RESOURCE_TYPE_MAIN_FRAME) { | 1240 if (request_data.resource_type == RESOURCE_TYPE_MAIN_FRAME) { |
| 1237 new_request->set_first_party_url_policy( | 1241 new_request->set_first_party_url_policy( |
| 1238 net::URLRequest::UPDATE_FIRST_PARTY_URL_ON_REDIRECT); | 1242 net::URLRequest::UPDATE_FIRST_PARTY_URL_ON_REDIRECT); |
| 1239 } | 1243 } |
| 1240 | 1244 |
| 1241 const Referrer referrer(request_data.referrer, request_data.referrer_policy); | 1245 const Referrer referrer(request_data.referrer, request_data.referrer_policy); |
| 1242 SetReferrerForRequest(new_request.get(), referrer); | 1246 SetReferrerForRequest(new_request.get(), referrer); |
| (...skipping 1156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2399 load_flags |= net::LOAD_PREFETCH; | 2403 load_flags |= net::LOAD_PREFETCH; |
| 2400 } | 2404 } |
| 2401 | 2405 |
| 2402 if (is_sync_load) | 2406 if (is_sync_load) |
| 2403 load_flags |= net::LOAD_IGNORE_LIMITS; | 2407 load_flags |= net::LOAD_IGNORE_LIMITS; |
| 2404 | 2408 |
| 2405 return load_flags; | 2409 return load_flags; |
| 2406 } | 2410 } |
| 2407 | 2411 |
| 2408 } // namespace content | 2412 } // namespace content |
| OLD | NEW |