| Index: net/http/http_network_session.cc
|
| diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
|
| index 06651e967542d13ac5d4fbbb8b2516fe49712447..0f4a2519776962cb0312764c8e263fd6c3863e05 100644
|
| --- a/net/http/http_network_session.cc
|
| +++ b/net/http/http_network_session.cc
|
| @@ -240,6 +240,9 @@ HttpNetworkSession::HttpNetworkSession(const Params& params)
|
|
|
| http_server_properties_->SetMaxServerConfigsStoredInProperties(
|
| params.quic_max_server_configs_stored_in_properties);
|
| +
|
| + memory_pressure_listener_.reset(new base::MemoryPressureListener(base::Bind(
|
| + &HttpNetworkSession::OnMemoryPressure, base::Unretained(this))));
|
| }
|
|
|
| HttpNetworkSession::~HttpNetworkSession() {
|
| @@ -402,4 +405,16 @@ ClientSocketPoolManager* HttpNetworkSession::GetSocketPoolManager(
|
| return NULL;
|
| }
|
|
|
| +void HttpNetworkSession::OnMemoryPressure(
|
| + base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) {
|
| + switch (memory_pressure_level) {
|
| + case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE:
|
| + break;
|
| + case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE:
|
| + case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL:
|
| + CloseIdleConnections();
|
| + break;
|
| + }
|
| +}
|
| +
|
| } // namespace net
|
|
|