| 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 |