| Index: components/memory_coordinator/child/child_memory_coordinator_impl_android.cc
|
| diff --git a/components/memory_coordinator/child/child_memory_coordinator_impl_android.cc b/components/memory_coordinator/child/child_memory_coordinator_impl_android.cc
|
| index 976994c19850e5cc3030a9461a7dc9c246a4d861..c06adacda46b54dacff2d465a713726f7b24c292 100644
|
| --- a/components/memory_coordinator/child/child_memory_coordinator_impl_android.cc
|
| +++ b/components/memory_coordinator/child/child_memory_coordinator_impl_android.cc
|
| @@ -6,17 +6,25 @@
|
|
|
| namespace memory_coordinator {
|
|
|
| +// The same value as TRIM_MEMORY_RUNNING_CRITICAL defined in
|
| +// ComponentCallback2
|
| +static const int kTrimMemoryRunningCritical = 15;
|
| +
|
| ChildMemoryCoordinatorImplAndroid::ChildMemoryCoordinatorImplAndroid(
|
| mojom::MemoryCoordinatorHandlePtr parent,
|
| ChildMemoryCoordinatorDelegate* delegate)
|
| - : ChildMemoryCoordinatorImpl(std::move(parent), delegate) {}
|
| + : ChildMemoryCoordinatorImpl(std::move(parent), delegate) {
|
| + MemoryStateListenerAndroid::Start(this);
|
| +}
|
|
|
| -ChildMemoryCoordinatorImplAndroid::~ChildMemoryCoordinatorImplAndroid() {}
|
| +ChildMemoryCoordinatorImplAndroid::~ChildMemoryCoordinatorImplAndroid() {
|
| + MemoryStateListenerAndroid::Stop();
|
| +}
|
|
|
| void ChildMemoryCoordinatorImplAndroid::OnTrimMemory(int level) {
|
| - // TODO(bashi): Compare |level| with levels defined in
|
| - // ComponentCallbacks2 when JNI bindings are implemented.
|
| - delegate()->OnTrimMemoryImmediately();
|
| + if (level >= kTrimMemoryRunningCritical) {
|
| + delegate()->OnTrimMemoryImmediately();
|
| + }
|
| }
|
|
|
| std::unique_ptr<ChildMemoryCoordinatorImpl> CreateChildMemoryCoordinator(
|
|
|