Chromium Code Reviews| 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_Requestt_Id defined in HTTPNames.json5. | |
|
Sami
2017/02/27 12:39:07
typo: request
alex clarke (OOO till 29th)
2017/02/27 13:51:16
Done.
| |
| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 106 } | 110 } |
| 107 | 111 |
| 108 int DevToolsNetworkTransaction::Start(const net::HttpRequestInfo* request, | 112 int DevToolsNetworkTransaction::Start(const net::HttpRequestInfo* request, |
| 109 const net::CompletionCallback& callback, | 113 const net::CompletionCallback& callback, |
| 110 const net::NetLogWithSource& net_log) { | 114 const net::NetLogWithSource& net_log) { |
| 111 DCHECK(request); | 115 DCHECK(request); |
| 112 request_ = request; | 116 request_ = request; |
| 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); |
|
Sami
2017/02/27 12:39:07
Should we also check for kDevToolsRequestId?
alex clarke (OOO till 29th)
2017/02/27 13:51:16
Possibly yes. Pavel WDYT?
| |
| 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 |