| 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 #include "net/http/http_network_session.h" | 5 #include "net/http/http_network_session.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "net/quic/core/quic_clock.h" | 27 #include "net/quic/core/quic_clock.h" |
| 28 #include "net/quic/core/quic_crypto_client_stream_factory.h" | 28 #include "net/quic/core/quic_crypto_client_stream_factory.h" |
| 29 #include "net/quic/core/quic_protocol.h" | 29 #include "net/quic/core/quic_protocol.h" |
| 30 #include "net/quic/core/quic_utils.h" | 30 #include "net/quic/core/quic_utils.h" |
| 31 #include "net/socket/client_socket_factory.h" | 31 #include "net/socket/client_socket_factory.h" |
| 32 #include "net/socket/client_socket_pool_manager_impl.h" | 32 #include "net/socket/client_socket_pool_manager_impl.h" |
| 33 #include "net/socket/next_proto.h" | 33 #include "net/socket/next_proto.h" |
| 34 #include "net/socket/ssl_client_socket.h" | 34 #include "net/socket/ssl_client_socket.h" |
| 35 #include "net/spdy/spdy_session_pool.h" | 35 #include "net/spdy/spdy_session_pool.h" |
| 36 | 36 |
| 37 #include "base/trace_event/memory_allocator_dump.h" |
| 38 #include "base/trace_event/process_memory_dump.h" |
| 39 #include "base/strings/stringprintf.h" |
| 40 |
| 37 namespace net { | 41 namespace net { |
| 38 | 42 |
| 39 namespace { | 43 namespace { |
| 40 | 44 |
| 41 base::StaticAtomicSequenceNumber g_next_shard_id; | 45 base::StaticAtomicSequenceNumber g_next_shard_id; |
| 42 | 46 |
| 43 ClientSocketPoolManager* CreateSocketPoolManager( | 47 ClientSocketPoolManager* CreateSocketPoolManager( |
| 44 HttpNetworkSession::SocketPoolType pool_type, | 48 HttpNetworkSession::SocketPoolType pool_type, |
| 45 const HttpNetworkSession::Params& params, | 49 const HttpNetworkSession::Params& params, |
| 46 const std::string& ssl_session_cache_shard) { | 50 const std::string& ssl_session_cache_shard) { |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 ssl_config_service_->GetSSLConfig(server_config); | 375 ssl_config_service_->GetSSLConfig(server_config); |
| 372 GetAlpnProtos(&server_config->alpn_protos); | 376 GetAlpnProtos(&server_config->alpn_protos); |
| 373 *proxy_config = *server_config; | 377 *proxy_config = *server_config; |
| 374 if (request.privacy_mode == PRIVACY_MODE_ENABLED) { | 378 if (request.privacy_mode == PRIVACY_MODE_ENABLED) { |
| 375 server_config->channel_id_enabled = false; | 379 server_config->channel_id_enabled = false; |
| 376 } else if (params_.enable_token_binding && params_.channel_id_service) { | 380 } else if (params_.enable_token_binding && params_.channel_id_service) { |
| 377 server_config->token_binding_params.push_back(TB_PARAM_ECDSAP256); | 381 server_config->token_binding_params.push_back(TB_PARAM_ECDSAP256); |
| 378 } | 382 } |
| 379 } | 383 } |
| 380 | 384 |
| 385 void HttpNetworkSession::PopulateAllocatorDump( |
| 386 base::trace_event::MemoryAllocatorDump* dump) const { |
| 387 std::string name = base::StringPrintf("net/http_network_session/%p", this); |
| 388 base::trace_event::MemoryAllocatorDump* http_network_session_dump = |
| 389 dump->process_memory_dump()->GetAllocatorDump(name); |
| 390 if (http_network_session_dump != nullptr) { |
| 391 dump->process_memory_dump()->AddOwnershipEdge( |
| 392 dump->guid(), http_network_session_dump->guid()); |
| 393 return; |
| 394 } |
| 395 http_network_session_dump = dump->process_memory_dump()->CreateAllocatorDump( |
| 396 name); |
| 397 dump->process_memory_dump()->AddOwnershipEdge( |
| 398 dump->guid(), http_network_session_dump->guid()); |
| 399 normal_socket_pool_manager_->PopulateAllocatorDump(http_network_session_dump); |
| 400 } |
| 401 |
| 381 ClientSocketPoolManager* HttpNetworkSession::GetSocketPoolManager( | 402 ClientSocketPoolManager* HttpNetworkSession::GetSocketPoolManager( |
| 382 SocketPoolType pool_type) { | 403 SocketPoolType pool_type) { |
| 383 switch (pool_type) { | 404 switch (pool_type) { |
| 384 case NORMAL_SOCKET_POOL: | 405 case NORMAL_SOCKET_POOL: |
| 385 return normal_socket_pool_manager_.get(); | 406 return normal_socket_pool_manager_.get(); |
| 386 case WEBSOCKET_SOCKET_POOL: | 407 case WEBSOCKET_SOCKET_POOL: |
| 387 return websocket_socket_pool_manager_.get(); | 408 return websocket_socket_pool_manager_.get(); |
| 388 default: | 409 default: |
| 389 NOTREACHED(); | 410 NOTREACHED(); |
| 390 break; | 411 break; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 416 break; | 437 break; |
| 417 case base::MemoryState::SUSPENDED: | 438 case base::MemoryState::SUSPENDED: |
| 418 // Note: Not supported at present. Fall through. | 439 // Note: Not supported at present. Fall through. |
| 419 case base::MemoryState::UNKNOWN: | 440 case base::MemoryState::UNKNOWN: |
| 420 NOTREACHED(); | 441 NOTREACHED(); |
| 421 break; | 442 break; |
| 422 } | 443 } |
| 423 } | 444 } |
| 424 | 445 |
| 425 } // namespace net | 446 } // namespace net |
| OLD | NEW |