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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java

Issue 1691993003: Hook up LeakCanary to ChromePublic.apk (behind a GN arg) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@leak-canary-2
Patch Set: better proguarding Created 4 years, 10 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: chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
index 9352f016eba4b25144597040f3da25bb93a51c2a..91f0dee1b279ff923c2a9f3f8009bd8f155767f1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
@@ -13,6 +13,8 @@ import android.os.Process;
import android.preference.PreferenceManager;
import android.text.TextUtils;
+import com.squareup.leakcanary.LeakCanary;
+
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ActivityStateListener;
@@ -23,6 +25,7 @@ import org.chromium.base.Log;
import org.chromium.base.ResourceExtractor;
import org.chromium.base.ThreadUtils;
import org.chromium.base.TraceEvent;
+import org.chromium.base.annotations.RemovableInRelease;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
@@ -93,6 +96,14 @@ public class ChromeBrowserInitializer {
private ChromeBrowserInitializer(Context context) {
mApplication = (ChromeApplication) context.getApplicationContext();
mHandler = new Handler(Looper.getMainLooper());
+ initLeakCanary();
+ }
+
+ @RemovableInRelease
+ private void initLeakCanary() {
+ // Watch that Activity objects are not retained after their onDestroy() has been called.
+ // This is a no-op in release builds.
+ LeakCanary.install(mApplication);
}
/**

Powered by Google App Engine
This is Rietveld 408576698