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

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

Issue 2907463002: Split HttpNetworkSession::Params into two structs. (Closed)
Patch Set: Response to comments Created 3 years, 6 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
« no previous file with comments | « net/http/http_network_session.cc ('k') | net/http/http_network_transaction_ssl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 return request_->url.SchemeIsCryptographic(); 603 return request_->url.SchemeIsCryptographic();
604 } 604 }
605 605
606 bool HttpNetworkTransaction::IsTokenBindingEnabled() const { 606 bool HttpNetworkTransaction::IsTokenBindingEnabled() const {
607 if (!IsSecureRequest()) 607 if (!IsSecureRequest())
608 return false; 608 return false;
609 SSLInfo ssl_info; 609 SSLInfo ssl_info;
610 stream_->GetSSLInfo(&ssl_info); 610 stream_->GetSSLInfo(&ssl_info);
611 return ssl_info.token_binding_negotiated && 611 return ssl_info.token_binding_negotiated &&
612 ssl_info.token_binding_key_param == TB_PARAM_ECDSAP256 && 612 ssl_info.token_binding_key_param == TB_PARAM_ECDSAP256 &&
613 session_->params().channel_id_service; 613 session_->context().channel_id_service;
614 } 614 }
615 615
616 void HttpNetworkTransaction::RecordTokenBindingSupport() const { 616 void HttpNetworkTransaction::RecordTokenBindingSupport() const {
617 // This enum is used for an UMA histogram - do not change or re-use values. 617 // This enum is used for an UMA histogram - do not change or re-use values.
618 enum { 618 enum {
619 DISABLED = 0, 619 DISABLED = 0,
620 CLIENT_ONLY = 1, 620 CLIENT_ONLY = 1,
621 CLIENT_AND_SERVER = 2, 621 CLIENT_AND_SERVER = 2,
622 CLIENT_NO_CHANNEL_ID_SERVICE = 3, 622 CLIENT_NO_CHANNEL_ID_SERVICE = 3,
623 TOKEN_BINDING_SUPPORT_MAX 623 TOKEN_BINDING_SUPPORT_MAX
624 } supported; 624 } supported;
625 if (!IsSecureRequest()) 625 if (!IsSecureRequest())
626 return; 626 return;
627 SSLInfo ssl_info; 627 SSLInfo ssl_info;
628 stream_->GetSSLInfo(&ssl_info); 628 stream_->GetSSLInfo(&ssl_info);
629 if (!session_->params().enable_token_binding) { 629 if (!session_->params().enable_token_binding) {
630 supported = DISABLED; 630 supported = DISABLED;
631 } else if (!session_->params().channel_id_service) { 631 } else if (!session_->context().channel_id_service) {
632 supported = CLIENT_NO_CHANNEL_ID_SERVICE; 632 supported = CLIENT_NO_CHANNEL_ID_SERVICE;
633 } else if (ssl_info.token_binding_negotiated) { 633 } else if (ssl_info.token_binding_negotiated) {
634 supported = CLIENT_AND_SERVER; 634 supported = CLIENT_AND_SERVER;
635 } else { 635 } else {
636 supported = CLIENT_ONLY; 636 supported = CLIENT_ONLY;
637 } 637 }
638 UMA_HISTOGRAM_ENUMERATION("Net.TokenBinding.Support", supported, 638 UMA_HISTOGRAM_ENUMERATION("Net.TokenBinding.Support", supported,
639 TOKEN_BINDING_SUPPORT_MAX); 639 TOKEN_BINDING_SUPPORT_MAX);
640 } 640 }
641 641
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 next_state_ = STATE_GET_PROVIDED_TOKEN_BINDING_KEY; 962 next_state_ = STATE_GET_PROVIDED_TOKEN_BINDING_KEY;
963 return rv; 963 return rv;
964 } 964 }
965 965
966 int HttpNetworkTransaction::DoGetProvidedTokenBindingKey() { 966 int HttpNetworkTransaction::DoGetProvidedTokenBindingKey() {
967 next_state_ = STATE_GET_PROVIDED_TOKEN_BINDING_KEY_COMPLETE; 967 next_state_ = STATE_GET_PROVIDED_TOKEN_BINDING_KEY_COMPLETE;
968 if (!IsTokenBindingEnabled()) 968 if (!IsTokenBindingEnabled())
969 return OK; 969 return OK;
970 970
971 net_log_.BeginEvent(NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY); 971 net_log_.BeginEvent(NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY);
972 ChannelIDService* channel_id_service = session_->params().channel_id_service; 972 ChannelIDService* channel_id_service = session_->context().channel_id_service;
973 return channel_id_service->GetOrCreateChannelID( 973 return channel_id_service->GetOrCreateChannelID(
974 request_->url.host(), &provided_token_binding_key_, io_callback_, 974 request_->url.host(), &provided_token_binding_key_, io_callback_,
975 &token_binding_request_); 975 &token_binding_request_);
976 } 976 }
977 977
978 int HttpNetworkTransaction::DoGetProvidedTokenBindingKeyComplete(int rv) { 978 int HttpNetworkTransaction::DoGetProvidedTokenBindingKeyComplete(int rv) {
979 DCHECK_NE(ERR_IO_PENDING, rv); 979 DCHECK_NE(ERR_IO_PENDING, rv);
980 if (IsTokenBindingEnabled()) { 980 if (IsTokenBindingEnabled()) {
981 net_log_.EndEventWithNetErrorCode( 981 net_log_.EndEventWithNetErrorCode(
982 NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY, rv); 982 NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY, rv);
983 } 983 }
984 984
985 if (rv == OK) 985 if (rv == OK)
986 next_state_ = STATE_GET_REFERRED_TOKEN_BINDING_KEY; 986 next_state_ = STATE_GET_REFERRED_TOKEN_BINDING_KEY;
987 return rv; 987 return rv;
988 } 988 }
989 989
990 int HttpNetworkTransaction::DoGetReferredTokenBindingKey() { 990 int HttpNetworkTransaction::DoGetReferredTokenBindingKey() {
991 next_state_ = STATE_GET_REFERRED_TOKEN_BINDING_KEY_COMPLETE; 991 next_state_ = STATE_GET_REFERRED_TOKEN_BINDING_KEY_COMPLETE;
992 if (!IsTokenBindingEnabled() || request_->token_binding_referrer.empty()) 992 if (!IsTokenBindingEnabled() || request_->token_binding_referrer.empty())
993 return OK; 993 return OK;
994 994
995 net_log_.BeginEvent(NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY); 995 net_log_.BeginEvent(NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY);
996 ChannelIDService* channel_id_service = session_->params().channel_id_service; 996 ChannelIDService* channel_id_service = session_->context().channel_id_service;
997 return channel_id_service->GetOrCreateChannelID( 997 return channel_id_service->GetOrCreateChannelID(
998 request_->token_binding_referrer, &referred_token_binding_key_, 998 request_->token_binding_referrer, &referred_token_binding_key_,
999 io_callback_, &token_binding_request_); 999 io_callback_, &token_binding_request_);
1000 } 1000 }
1001 1001
1002 int HttpNetworkTransaction::DoGetReferredTokenBindingKeyComplete(int rv) { 1002 int HttpNetworkTransaction::DoGetReferredTokenBindingKeyComplete(int rv) {
1003 DCHECK_NE(ERR_IO_PENDING, rv); 1003 DCHECK_NE(ERR_IO_PENDING, rv);
1004 if (IsTokenBindingEnabled() && !request_->token_binding_referrer.empty()) { 1004 if (IsTokenBindingEnabled() && !request_->token_binding_referrer.empty()) {
1005 net_log_.EndEventWithNetErrorCode( 1005 net_log_.EndEventWithNetErrorCode(
1006 NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY, rv); 1006 NetLogEventType::HTTP_TRANSACTION_GET_TOKEN_BINDING_KEY, rv);
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after
1771 if (headers->IsRedirect(nullptr)) { 1771 if (headers->IsRedirect(nullptr)) {
1772 UMA_HISTOGRAM_BOOLEAN("Net.RedirectWithUnadvertisedContentEncoding", 1772 UMA_HISTOGRAM_BOOLEAN("Net.RedirectWithUnadvertisedContentEncoding",
1773 !result); 1773 !result);
1774 return true; 1774 return true;
1775 } 1775 }
1776 1776
1777 return result; 1777 return result;
1778 } 1778 }
1779 1779
1780 } // namespace net 1780 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_session.cc ('k') | net/http/http_network_transaction_ssl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698