From 24dc4ee75e01a29d390d43c9c264372a169273a7 Mon Sep 17 00:00:00 2001 From: Xing Liu Date: Fri, 8 Oct 2021 00:53:01 +0000 Subject: [PATCH] Power bookmark: Fix a jni leak for CurrencyFormatter. PowerBookmarkShoppingItemRow is only used in test. But the production code needs to call CurrencyFormatter.destroy, or the native side object is leaked. Bug: NONE Change-Id: I46c269eb9e402835bdec316f404a32624648abcd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3213448 Reviewed-by: Theresa Reviewed-by: Brandon Wylie Commit-Queue: Xing Liu Cr-Commit-Position: refs/heads/main@{#929512} --- .../browser/bookmarks/PowerBookmarkShoppingItemRow.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java index 065688448ec85..f3eb04e9d2993 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/PowerBookmarkShoppingItemRow.java @@ -49,6 +49,7 @@ void init(ImageFetcher imageFetcher) { mImageFetcher = imageFetcher; } + // BookmarkItemRow overrides: @Override BookmarkItem setBookmarkId(BookmarkId bookmarkId, @Location int location) { BookmarkItem bookmarkItem = super.setBookmarkId(bookmarkId, location); @@ -57,6 +58,12 @@ BookmarkItem setBookmarkId(BookmarkId bookmarkId, @Location int location) { return bookmarkItem; } + @Override + public void onDestroy() { + super.onDestroy(); + if (mCurrencyFormatter != null) mCurrencyFormatter.destroy(); + } + @VisibleForTesting void initPriceTrackingUI(String leadImageUrl, boolean priceTrackingEnabled, long originalPrice, long currentPrice) {