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 "chrome/browser/devtools/devtools_network_transaction.h" | 5 #include "chrome/browser/devtools/devtools_network_transaction.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
10 #include "chrome/browser/devtools/devtools_network_controller.h" | 10 #include "chrome/browser/devtools/devtools_network_controller.h" |
11 #include "chrome/browser/devtools/devtools_network_interceptor.h" | 11 #include "chrome/browser/devtools/devtools_network_interceptor.h" |
12 #include "chrome/browser/devtools/devtools_network_upload_data_stream.h" | 12 #include "chrome/browser/devtools/devtools_network_upload_data_stream.h" |
13 #include "net/base/load_timing_info.h" | 13 #include "net/base/load_timing_info.h" |
14 #include "net/base/net_errors.h" | 14 #include "net/base/net_errors.h" |
15 #include "net/http/http_network_transaction.h" | 15 #include "net/http/http_network_transaction.h" |
16 #include "net/http/http_request_info.h" | 16 #include "net/http/http_request_info.h" |
17 #include "net/socket/connection_attempts.h" | 17 #include "net/socket/connection_attempts.h" |
18 | 18 |
19 // Keep in sync with X_DevTools_Emulate_Network_Conditions_Client_Id defined in | 19 // Keep in sync with X_DevTools_Emulate_Network_Conditions_Client_Id defined in |
20 // HTTPNames.in. | 20 // HTTPNames.json5. |
21 const char | 21 const char |
22 DevToolsNetworkTransaction::kDevToolsEmulateNetworkConditionsClientId[] = | 22 DevToolsNetworkTransaction::kDevToolsEmulateNetworkConditionsClientId[] = |
23 "X-DevTools-Emulate-Network-Conditions-Client-Id"; | 23 "X-DevTools-Emulate-Network-Conditions-Client-Id"; |
24 | 24 |
| 25 // Keep in sync with X_DevTools_Request_Id defined in HTTPNames.json5. |
| 26 const char DevToolsNetworkTransaction::kDevToolsRequestId[] = |
| 27 "X-DevTools-Request-Id"; |
| 28 |
25 DevToolsNetworkTransaction::DevToolsNetworkTransaction( | 29 DevToolsNetworkTransaction::DevToolsNetworkTransaction( |
26 DevToolsNetworkController* controller, | 30 DevToolsNetworkController* controller, |
27 std::unique_ptr<net::HttpTransaction> network_transaction) | 31 std::unique_ptr<net::HttpTransaction> network_transaction) |
28 : throttled_byte_count_(0), | 32 : throttled_byte_count_(0), |
29 controller_(controller), | 33 controller_(controller), |
30 network_transaction_(std::move(network_transaction)), | 34 network_transaction_(std::move(network_transaction)), |
31 request_(nullptr), | 35 request_(nullptr), |
32 failed_(false) { | 36 failed_(false) { |
33 DCHECK(controller); | 37 DCHECK(controller); |
34 } | 38 } |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 117 |
114 std::string client_id; | 118 std::string client_id; |
115 bool has_devtools_client_id = request_->extra_headers.HasHeader( | 119 bool has_devtools_client_id = request_->extra_headers.HasHeader( |
116 kDevToolsEmulateNetworkConditionsClientId); | 120 kDevToolsEmulateNetworkConditionsClientId); |
117 if (has_devtools_client_id) { | 121 if (has_devtools_client_id) { |
118 custom_request_.reset(new net::HttpRequestInfo(*request_)); | 122 custom_request_.reset(new net::HttpRequestInfo(*request_)); |
119 custom_request_->extra_headers.GetHeader( | 123 custom_request_->extra_headers.GetHeader( |
120 kDevToolsEmulateNetworkConditionsClientId, &client_id); | 124 kDevToolsEmulateNetworkConditionsClientId, &client_id); |
121 custom_request_->extra_headers.RemoveHeader( | 125 custom_request_->extra_headers.RemoveHeader( |
122 kDevToolsEmulateNetworkConditionsClientId); | 126 kDevToolsEmulateNetworkConditionsClientId); |
| 127 custom_request_->extra_headers.RemoveHeader(kDevToolsRequestId); |
123 | 128 |
124 if (request_->upload_data_stream) { | 129 if (request_->upload_data_stream) { |
125 custom_upload_data_stream_.reset( | 130 custom_upload_data_stream_.reset( |
126 new DevToolsNetworkUploadDataStream(request_->upload_data_stream)); | 131 new DevToolsNetworkUploadDataStream(request_->upload_data_stream)); |
127 custom_request_->upload_data_stream = custom_upload_data_stream_.get(); | 132 custom_request_->upload_data_stream = custom_upload_data_stream_.get(); |
128 } | 133 } |
129 | 134 |
130 request_ = custom_request_.get(); | 135 request_ = custom_request_.get(); |
131 } | 136 } |
132 | 137 |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 if (CheckFailed()) | 296 if (CheckFailed()) |
292 return net::ERR_INTERNET_DISCONNECTED; | 297 return net::ERR_INTERNET_DISCONNECTED; |
293 return network_transaction_->ResumeNetworkStart(); | 298 return network_transaction_->ResumeNetworkStart(); |
294 } | 299 } |
295 | 300 |
296 void | 301 void |
297 DevToolsNetworkTransaction::GetConnectionAttempts(net::ConnectionAttempts* out) | 302 DevToolsNetworkTransaction::GetConnectionAttempts(net::ConnectionAttempts* out) |
298 const { | 303 const { |
299 network_transaction_->GetConnectionAttempts(out); | 304 network_transaction_->GetConnectionAttempts(out); |
300 } | 305 } |
OLD | NEW |