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 "content/common/host_discardable_shared_memory_manager.h" | 5 #include "content/common/host_discardable_shared_memory_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/atomic_sequence_num.h" | 10 #include "base/atomic_sequence_num.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 HostDiscardableSharedMemoryManager::MemorySegment::MemorySegment( | 158 HostDiscardableSharedMemoryManager::MemorySegment::MemorySegment( |
159 std::unique_ptr<base::DiscardableSharedMemory> memory) | 159 std::unique_ptr<base::DiscardableSharedMemory> memory) |
160 : memory_(std::move(memory)) {} | 160 : memory_(std::move(memory)) {} |
161 | 161 |
162 HostDiscardableSharedMemoryManager::MemorySegment::~MemorySegment() { | 162 HostDiscardableSharedMemoryManager::MemorySegment::~MemorySegment() { |
163 } | 163 } |
164 | 164 |
165 HostDiscardableSharedMemoryManager::HostDiscardableSharedMemoryManager() | 165 HostDiscardableSharedMemoryManager::HostDiscardableSharedMemoryManager() |
166 : memory_limit_(GetDefaultMemoryLimit()), | 166 : memory_limit_(GetDefaultMemoryLimit()), |
167 bytes_allocated_(0), | 167 bytes_allocated_(0), |
168 memory_pressure_listener_(new base::MemoryPressureListener( | 168 memory_pressure_listener_(base::MemoryPressureListener::Create( |
169 base::Bind(&HostDiscardableSharedMemoryManager::OnMemoryPressure, | 169 base::Bind(&HostDiscardableSharedMemoryManager::OnMemoryPressure, |
170 base::Unretained(this)))), | 170 base::Unretained(this)))), |
171 // Current thread might not have a task runner in tests. | 171 // Current thread might not have a task runner in tests. |
172 enforce_memory_policy_task_runner_(base::ThreadTaskRunnerHandle::Get()), | 172 enforce_memory_policy_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
173 enforce_memory_policy_pending_(false), | 173 enforce_memory_policy_pending_(false), |
174 weak_ptr_factory_(this) { | 174 weak_ptr_factory_(this) { |
175 DCHECK_NE(memory_limit_, 0u); | 175 DCHECK_NE(memory_limit_, 0u); |
176 enforce_memory_policy_callback_ = | 176 enforce_memory_policy_callback_ = |
177 base::Bind(&HostDiscardableSharedMemoryManager::EnforceMemoryPolicy, | 177 base::Bind(&HostDiscardableSharedMemoryManager::EnforceMemoryPolicy, |
178 weak_ptr_factory_.GetWeakPtr()); | 178 weak_ptr_factory_.GetWeakPtr()); |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 return; | 540 return; |
541 | 541 |
542 enforce_memory_policy_pending_ = true; | 542 enforce_memory_policy_pending_ = true; |
543 DCHECK(enforce_memory_policy_task_runner_); | 543 DCHECK(enforce_memory_policy_task_runner_); |
544 enforce_memory_policy_task_runner_->PostDelayedTask( | 544 enforce_memory_policy_task_runner_->PostDelayedTask( |
545 FROM_HERE, enforce_memory_policy_callback_, | 545 FROM_HERE, enforce_memory_policy_callback_, |
546 base::TimeDelta::FromMilliseconds(kEnforceMemoryPolicyDelayMs)); | 546 base::TimeDelta::FromMilliseconds(kEnforceMemoryPolicyDelayMs)); |
547 } | 547 } |
548 | 548 |
549 } // namespace content | 549 } // namespace content |
OLD | NEW |