Adding freeMemoryForTests method to the WebView Chromium glue layer.
This is going to be used by pagecycler tests.
Note, this is part of a multi-project change. See: b/10629847
Change-Id: I22e6b4d7b0d1d6dc25e7a9e608c2ac7b2ef32fc4
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index e7bfb5a..2324d31 100644
--- a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -16,7 +16,9 @@
package com.android.webview.chromium;
+import android.app.ActivityManager;
import android.app.ActivityThread;
+import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
@@ -38,6 +40,7 @@
import org.chromium.android_webview.AwGeolocationPermissions;
import org.chromium.android_webview.AwQuotaManagerBridge;
import org.chromium.android_webview.AwSettings;
+import org.chromium.base.MemoryPressureListener;
import org.chromium.base.PathService;
import org.chromium.base.ThreadUtils;
import org.chromium.content.app.LibraryLoader;
@@ -188,6 +191,14 @@
public String getDefaultUserAgent(Context context) {
return AwSettings.getDefaultUserAgent();
}
+
+ @Override
+ public void freeMemoryForTests() {
+ if (ActivityManager.isRunningInTestHarness()) {
+ MemoryPressureListener.simulateMemoryPressureSignal(
+ ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
+ }
+ }
};
}
}