| Index: components/history/core/browser/history_backend.h | 
| diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h | 
| index aeecc96ab01663b118f0bcafaa8501c00f830d13..64c2b62c9ec1530251dad47710acc1763c947fdb 100644 | 
| --- a/components/history/core/browser/history_backend.h | 
| +++ b/components/history/core/browser/history_backend.h | 
| @@ -32,6 +32,7 @@ | 
| #include "components/history/core/browser/keyword_id.h" | 
| #include "components/history/core/browser/thumbnail_database.h" | 
| #include "components/history/core/browser/visit_tracker.h" | 
| +#include "components/memory_coordinator/common/memory_coordinator_client.h" | 
| #include "sql/init_status.h" | 
|  | 
| class HistoryURLProvider; | 
| @@ -102,7 +103,8 @@ class QueuedHistoryDBTask { | 
| // functions in the history service. These functions are not documented | 
| // here, see the history service for behavior. | 
| class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>, | 
| -                       public HistoryBackendNotifier { | 
| +                       public HistoryBackendNotifier, | 
| +                       public memory_coordinator::MemoryCoordinatorClient { | 
| public: | 
| // Interface implemented by the owner of the HistoryBackend object. Normally, | 
| // the history service implements this to send stuff back to the main thread. | 
| @@ -478,6 +480,9 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>, | 
|  | 
| base::Time GetFirstRecordedTimeForTest() { return first_recorded_time_; } | 
|  | 
| +  // memory_coordinator::MemoryCoordinatorClient implementation: | 
| +  void OnMemoryStateChange(memory_coordinator::MemoryState state) override; | 
| + | 
| protected: | 
| ~HistoryBackend() override; | 
|  | 
| @@ -579,6 +584,9 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>, | 
| // Does the work of Init. | 
| void InitImpl(const HistoryDatabaseParams& history_database_params); | 
|  | 
| +  // Asks database to trim memory. | 
| +  void TrimMemory(bool trim_aggressively); | 
| + | 
| // Called when the system is under memory pressure. | 
| void OnMemoryPressure( | 
| base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level); | 
|  |