Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Unified Diff: components/memory_pressure/direct_memory_pressure_calculator.h

Issue 1573123003: Refactor direct_memory_pressure_calculator.h per platform. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix GetSystemMemoryInfo. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/memory_pressure/direct_memory_pressure_calculator.h
diff --git a/components/memory_pressure/direct_memory_pressure_calculator.h b/components/memory_pressure/direct_memory_pressure_calculator.h
index a2bb60e46a98b470e9a5ecbbd0effebbf9a4cd2e..44258a84dfc02e8d1f2e348021c81bf079383eed 100644
--- a/components/memory_pressure/direct_memory_pressure_calculator.h
+++ b/components/memory_pressure/direct_memory_pressure_calculator.h
@@ -5,75 +5,8 @@
#ifndef COMPONENTS_MEMORY_PRESSURE_DIRECT_MEMORY_PRESSURE_CALCULATOR_H_
#define COMPONENTS_MEMORY_PRESSURE_DIRECT_MEMORY_PRESSURE_CALCULATOR_H_
-#include "components/memory_pressure/memory_pressure_calculator.h"
-
-#include "base/macros.h"
-#include "base/process/process_metrics.h"
-#include "build/build_config.h"
-
-namespace memory_pressure {
-
-#if defined(MEMORY_PRESSURE_IS_POLLING)
-
-// OS-specific implementation of MemoryPressureCalculator. This is only defined
-// and used on platforms that do not have native memory pressure signals
-// (ChromeOS, Linux, Windows). OSes that do have native signals simply hook into
-// the appropriate subsystem (Android, Mac OS X).
-class DirectMemoryPressureCalculator : public MemoryPressureCalculator {
- public:
-#if defined(OS_WIN)
- // Exposed for unittesting. See .cc file for detailed discussion of these
- // constants.
- static const int kLargeMemoryThresholdMb;
- static const int kSmallMemoryDefaultModerateThresholdMb;
- static const int kSmallMemoryDefaultCriticalThresholdMb;
- static const int kLargeMemoryDefaultModerateThresholdMb;
- static const int kLargeMemoryDefaultCriticalThresholdMb;
-#endif
-
- // Default constructor. Will choose thresholds automatically based on the
- // actual amount of system memory installed.
- DirectMemoryPressureCalculator();
-
- // Constructor with explicit memory thresholds. These represent the amount of
- // free memory below which the applicable memory pressure state applies.
- DirectMemoryPressureCalculator(int moderate_threshold_mb,
- int critical_threshold_mb);
-
- ~DirectMemoryPressureCalculator() override {}
-
- // Calculates the current pressure level.
- MemoryPressureLevel CalculateCurrentPressureLevel() override;
-
-#if defined(OS_WIN)
- int moderate_threshold_mb() const { return moderate_threshold_mb_; }
- int critical_threshold_mb() const { return critical_threshold_mb_; }
-#endif
-
- private:
- friend class TestDirectMemoryPressureCalculator;
-
- // Gets system memory status. This is virtual as a unittesting hook and by
- // default this invokes base::GetSystemMemoryInfo.
- virtual bool GetSystemMemoryInfo(base::SystemMemoryInfoKB* mem_info) const;
-
-#if defined(OS_WIN)
- // Uses GetSystemMemoryInfo to automatically infer appropriate values for
- // moderate_threshold_mb_ and critical_threshold_mb_.
- void InferThresholds();
-
- // Threshold amounts of available memory that trigger pressure levels. See
- // memory_pressure_monitor_win.cc for a discussion of reasonable values for
- // these.
- int moderate_threshold_mb_;
- int critical_threshold_mb_;
-#endif
-
- DISALLOW_COPY_AND_ASSIGN(DirectMemoryPressureCalculator);
-};
-
-#endif // defined(MEMORY_PRESSURE_IS_POLLING)
-
-} // namespace memory_pressure
+#ifdef OS_WIN
+#include "components/memory_pressure/direct_memory_pressure_calculator_win.h"
+#endif // OS_WIN
#endif // COMPONENTS_MEMORY_PRESSURE_DIRECT_MEMORY_PRESSURE_CALCULATOR_H_
« no previous file with comments | « components/memory_pressure/BUILD.gn ('k') | components/memory_pressure/direct_memory_pressure_calculator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698