#include "chrome/browser/memory/enterprise_memory_limit_evaluator.h"
#include "base/functional/bind.h"
#include "base/task/sequenced_task_runner.h"
#include "components/performance_manager/public/decorators/process_metrics_decorator.h"
#include "components/performance_manager/public/graph/process_node.h"
#include "components/performance_manager/public/performance_manager.h"
namespace memory {
EnterpriseMemoryLimitEvaluator::EnterpriseMemoryLimitEvaluator(
std::unique_ptr<memory_pressure::MemoryPressureVoter> voter)
: … { … }
EnterpriseMemoryLimitEvaluator::~EnterpriseMemoryLimitEvaluator() { … }
void EnterpriseMemoryLimitEvaluator::Start() { … }
std::unique_ptr<EnterpriseMemoryLimitEvaluator::GraphObserver>
EnterpriseMemoryLimitEvaluator::StartForTesting() { … }
void EnterpriseMemoryLimitEvaluator::Stop() { … }
void EnterpriseMemoryLimitEvaluator::StopForTesting() { … }
void EnterpriseMemoryLimitEvaluator::OnTotalResidentSetKbSample(
uint64_t resident_set_sample_kb) { … }
void EnterpriseMemoryLimitEvaluator::SetResidentSetLimitMb(
uint64_t resident_set_limit_mb) { … }
bool EnterpriseMemoryLimitEvaluator::IsRunning() const { … }
EnterpriseMemoryLimitEvaluator::GraphObserver::GraphObserver(
base::RepeatingCallback<void(uint64_t)> on_sample_callback,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: … { … }
EnterpriseMemoryLimitEvaluator::GraphObserver::~GraphObserver() = default;
void EnterpriseMemoryLimitEvaluator::GraphObserver::OnPassedToGraph(
performance_manager::Graph* graph) { … }
void EnterpriseMemoryLimitEvaluator::GraphObserver::OnTakenFromGraph(
performance_manager::Graph* graph) { … }
void EnterpriseMemoryLimitEvaluator::GraphObserver::
OnProcessMemoryMetricsAvailable(
const performance_manager::SystemNode* system_node) { … }
void EnterpriseMemoryLimitEvaluator::GraphObserver::
OnProcessMemoryMetricsAvailableForTesting(uint64_t total_rss_kb) { … }
}