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 |