1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_MEMORY_PRESSURE_MEMORY_PRESSURE_CALCULATOR_H_
6 #define COMPONENTS_MEMORY_PRESSURE_MEMORY_PRESSURE_CALCULATOR_H_
8 #include "components/memory_pressure/memory_pressure_listener.h"
10 namespace memory_pressure
{
12 #if defined(MEMORY_PRESSURE_IS_POLLING)
14 // Interface for a utility class that calculates memory pressure. Only used on
15 // platforms without native memory pressure signals.
16 class MemoryPressureCalculator
{
18 using MemoryPressureLevel
= MemoryPressureListener::MemoryPressureLevel
;
20 MemoryPressureCalculator() {}
21 virtual ~MemoryPressureCalculator() {}
22 virtual MemoryPressureLevel
CalculateCurrentPressureLevel() = 0;
25 DISALLOW_COPY_AND_ASSIGN(MemoryPressureCalculator
);
28 #endif // defined(MEMORY_PRESSURE_IS_POLLING)
30 } // namespace memory_pressure
32 #endif // COMPONENTS_MEMORY_PRESSURE_MEMORY_PRESSURE_CALCULATOR_H_