Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(460)

Side by Side Diff: net/http/http_network_transaction.cc

Issue 12701011: [Net] Propagate priority changes from URLRequest to HttpTransaction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "net/http/http_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 } 378 }
379 379
380 UploadProgress HttpNetworkTransaction::GetUploadProgress() const { 380 UploadProgress HttpNetworkTransaction::GetUploadProgress() const {
381 if (!stream_.get()) 381 if (!stream_.get())
382 return UploadProgress(); 382 return UploadProgress();
383 383
384 // TODO(bashi): This cast is temporary. Remove later. 384 // TODO(bashi): This cast is temporary. Remove later.
385 return static_cast<HttpStream*>(stream_.get())->GetUploadProgress(); 385 return static_cast<HttpStream*>(stream_.get())->GetUploadProgress();
386 } 386 }
387 387
388 bool HttpNetworkTransaction::GetLoadTimingInfo(
mmenke 2013/03/12 18:40:22 Thanks for fixing my misplacement of this function
389 LoadTimingInfo* load_timing_info) const {
390 if (!stream_ || !stream_->GetLoadTimingInfo(load_timing_info))
391 return false;
392
393 load_timing_info->proxy_resolve_start =
394 proxy_info_.proxy_resolve_start_time();
395 load_timing_info->proxy_resolve_end = proxy_info_.proxy_resolve_end_time();
396 load_timing_info->send_start = send_start_time_;
397 load_timing_info->send_end = send_end_time_;
398 load_timing_info->receive_headers_end = receive_headers_end_;
399 return true;
400 }
401
402 void HttpNetworkTransaction::SetPriority(RequestPriority priority) {
403 net_log_.AddEvent(NetLog::TYPE_HTTP_TRANSACTION_SET_PRIORITY,
404 NetLog::IntegerCallback("priority", priority));
mmenke 2013/03/12 18:40:22 I don't think this is an event worth logging. Htt
akalin 2013/03/12 22:08:28 Okay. I think we should still keep the new one URL
mmenke 2013/03/12 22:58:26 I agree that we should keep the one in URLRequest.
405 // TODO(akalin): Plumb this through to |stream_request_| and
406 // |stream_|.
407 }
408
388 void HttpNetworkTransaction::OnStreamReady(const SSLConfig& used_ssl_config, 409 void HttpNetworkTransaction::OnStreamReady(const SSLConfig& used_ssl_config,
389 const ProxyInfo& used_proxy_info, 410 const ProxyInfo& used_proxy_info,
390 HttpStreamBase* stream) { 411 HttpStreamBase* stream) {
391 DCHECK_EQ(STATE_CREATE_STREAM_COMPLETE, next_state_); 412 DCHECK_EQ(STATE_CREATE_STREAM_COMPLETE, next_state_);
392 DCHECK(stream_request_.get()); 413 DCHECK(stream_request_.get());
393 414
394 stream_.reset(stream); 415 stream_.reset(stream);
395 server_ssl_config_ = used_ssl_config; 416 server_ssl_config_ = used_ssl_config;
396 proxy_info_ = used_proxy_info; 417 proxy_info_ = used_proxy_info;
397 response_.was_npn_negotiated = stream_request_->was_npn_negotiated(); 418 response_.was_npn_negotiated = stream_request_->was_npn_negotiated();
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 496
476 headers_valid_ = true; 497 headers_valid_ = true;
477 response_ = response_info; 498 response_ = response_info;
478 server_ssl_config_ = used_ssl_config; 499 server_ssl_config_ = used_ssl_config;
479 proxy_info_ = used_proxy_info; 500 proxy_info_ = used_proxy_info;
480 stream_.reset(stream); 501 stream_.reset(stream);
481 stream_request_.reset(); // we're done with the stream request 502 stream_request_.reset(); // we're done with the stream request
482 OnIOComplete(ERR_HTTPS_PROXY_TUNNEL_RESPONSE); 503 OnIOComplete(ERR_HTTPS_PROXY_TUNNEL_RESPONSE);
483 } 504 }
484 505
485 bool HttpNetworkTransaction::GetLoadTimingInfo(
486 LoadTimingInfo* load_timing_info) const {
487 if (!stream_ || !stream_->GetLoadTimingInfo(load_timing_info))
488 return false;
489
490 load_timing_info->proxy_resolve_start =
491 proxy_info_.proxy_resolve_start_time();
492 load_timing_info->proxy_resolve_end = proxy_info_.proxy_resolve_end_time();
493 load_timing_info->send_start = send_start_time_;
494 load_timing_info->send_end = send_end_time_;
495 load_timing_info->receive_headers_end = receive_headers_end_;
496 return true;
497 }
498
499 bool HttpNetworkTransaction::is_https_request() const { 506 bool HttpNetworkTransaction::is_https_request() const {
500 return request_->url.SchemeIs("https"); 507 return request_->url.SchemeIs("https");
501 } 508 }
502 509
503 void HttpNetworkTransaction::DoCallback(int rv) { 510 void HttpNetworkTransaction::DoCallback(int rv) {
504 DCHECK_NE(rv, ERR_IO_PENDING); 511 DCHECK_NE(rv, ERR_IO_PENDING);
505 DCHECK(!callback_.is_null()); 512 DCHECK(!callback_.is_null());
506 513
507 // Since Run may result in Read being called, clear user_callback_ up front. 514 // Since Run may result in Read being called, clear user_callback_ up front.
508 CompletionCallback c = callback_; 515 CompletionCallback c = callback_;
(...skipping 945 matching lines...) Expand 10 before | Expand all | Expand 10 after
1454 description = base::StringPrintf("Unknown state 0x%08X (%u)", state, 1461 description = base::StringPrintf("Unknown state 0x%08X (%u)", state,
1455 state); 1462 state);
1456 break; 1463 break;
1457 } 1464 }
1458 return description; 1465 return description;
1459 } 1466 }
1460 1467
1461 #undef STATE_CASE 1468 #undef STATE_CASE
1462 1469
1463 } // namespace net 1470 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698