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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/enhanced_bookmarks/EnhancedBookmarksBridge.java

Issue 1202713002: Replace enhanced bookmarks salient images with favicons (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Line wraps in EnhanacedBookmarkItem.java Created 5 years, 6 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/enhanced_bookmarks/EnhancedBookmarksBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhanced_bookmarks/EnhancedBookmarksBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/enhanced_bookmarks/EnhancedBookmarksBridge.java
index 116383410c07dfcbc23ca68404940104e986c586..fd8545c4c64a20d7411d2c20c2b3fc852618aa8f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/enhanced_bookmarks/EnhancedBookmarksBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/enhanced_bookmarks/EnhancedBookmarksBridge.java
@@ -4,60 +4,29 @@
package org.chromium.chrome.browser.enhanced_bookmarks;
-import android.app.ActivityManager;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.util.LruCache;
-import android.util.Pair;
-
-import org.chromium.base.ApplicationStatus;
-import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
-import org.chromium.content_public.browser.WebContents;
-
-import java.lang.ref.WeakReference;
/**
* Access gate to C++ side enhanced bookmarks functionalities.
*/
@JNINamespace("enhanced_bookmarks::android")
public final class EnhancedBookmarksBridge {
- private static WeakReference<LruCache<String, Pair<String, Bitmap>>> sLruCache;
- private static final int SALIENT_IMAGE_MAX_CACHE_SIZE = 32 * 1024 * 1024; // 32MB
private long mNativeEnhancedBookmarksBridge;
- private LruCache<String, Pair<String, Bitmap>> mSalientImageCache;
-
- /**
- * Interface for getting result back from SalientImageForUrl function.
- */
- public interface SalientImageCallback {
- /**
- * Callback method for fetching salient image.
- * @param image Salient image. This can be null if the image cannot be found.
- * @param imageUrl Url of the image. Note this is not the same as the url of the website
- * containing the image.
- */
- @CalledByNative("SalientImageCallback")
- void onSalientImageReady(Bitmap image, String imageUrl);
- }
/**
* Creates a new enhanced bridge using the given profile.
*/
public EnhancedBookmarksBridge(Profile profile) {
mNativeEnhancedBookmarksBridge = nativeInit(profile);
- mSalientImageCache = getImageCache();
}
public void destroy() {
assert mNativeEnhancedBookmarksBridge != 0;
nativeDestroy(mNativeEnhancedBookmarksBridge);
mNativeEnhancedBookmarksBridge = 0;
-
- mSalientImageCache = null;
}
/**
@@ -92,71 +61,6 @@ public final class EnhancedBookmarksBridge {
nativeMoveBookmark(mNativeEnhancedBookmarksBridge, bookmarkId, newParentId);
}
- /**
- * Request bookmark salient image for the given URL. Please refer to
- * |BookmarkImageService::SalientImageForUrl|.
- * @return True if this method is executed synchronously. False if
- * {@link SalientImageCallback#onSalientImageReady(Bitmap, String)} is called later
- * (asynchronously).
- */
- public boolean salientImageForUrl(final String url, final SalientImageCallback callback) {
- assert callback != null;
- SalientImageCallback callbackWrapper = callback;
-
- if (mSalientImageCache != null) {
- Pair<String, Bitmap> cached = mSalientImageCache.get(url);
- if (cached != null) {
- callback.onSalientImageReady(cached.second, cached.first);
- return true;
- }
-
- callbackWrapper = new SalientImageCallback() {
- @Override
- public void onSalientImageReady(Bitmap image, String imageUrl) {
- if (mNativeEnhancedBookmarksBridge == 0) return;
-
- if (image != null) {
- mSalientImageCache.put(url, new Pair<String, Bitmap>(imageUrl, image));
- }
- callback.onSalientImageReady(image, imageUrl);
- }
- };
- }
-
- nativeSalientImageForUrl(mNativeEnhancedBookmarksBridge, url, callbackWrapper);
- return false;
- }
-
- /**
- * Parses the web content of a tab, and stores salient images to local database.
- * @param webContents Contents of the tab that the user is currently in.
- */
- public void fetchImageForTab(WebContents webContents) {
- nativeFetchImageForTab(mNativeEnhancedBookmarksBridge, webContents);
- }
-
- /**
- * @return Return the cache if it is stored in the static weak reference, or create a new empty
- * one if the reference is empty.
- */
- private static LruCache<String, Pair<String, Bitmap>> getImageCache() {
- ActivityManager activityManager = ((ActivityManager) ApplicationStatus
- .getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE));
- int maxSize = Math.min(activityManager.getMemoryClass() / 4 * 1024 * 1024,
- SALIENT_IMAGE_MAX_CACHE_SIZE);
- LruCache<String, Pair<String, Bitmap>> cache = sLruCache == null ? null : sLruCache.get();
- if (cache == null) {
- cache = new LruCache<String, Pair<String, Bitmap>>(maxSize) {
- @Override
- protected int sizeOf(String key, Pair<String, Bitmap> urlImage) {
- return urlImage.first.length() + urlImage.second.getByteCount();
- }
- };
- sLruCache = new WeakReference<LruCache<String, Pair<String, Bitmap>>>(cache);
- }
- return cache;
- }
-
private native long nativeInit(Profile profile);
private native void nativeDestroy(long nativeEnhancedBookmarksBridge);
private native BookmarkId nativeAddFolder(long nativeEnhancedBookmarksBridge, BookmarkId parent,
@@ -165,8 +69,4 @@ public final class EnhancedBookmarksBridge {
BookmarkId bookmarkId, BookmarkId newParentId);
private native BookmarkId nativeAddBookmark(long nativeEnhancedBookmarksBridge,
BookmarkId parent, int index, String title, String url);
- private native void nativeSalientImageForUrl(long nativeEnhancedBookmarksBridge,
- String url, SalientImageCallback callback);
- private native void nativeFetchImageForTab(long nativeEnhancedBookmarksBridge,
- WebContents webContents);
}

Powered by Google App Engine
This is Rietveld 408576698