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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java

Issue 2374753002: Track when fallback icon color is the default. (Closed)
Patch Set: Created 4 years, 3 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/favicon/LargeIconBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java
index e1017c99497c4bf50a0f82f0ac141deb3b551de8..4faae1386478149748064b46581df9d416b87f5e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/favicon/LargeIconBridge.java
@@ -21,7 +21,7 @@ public class LargeIconBridge {
private static final int CACHE_ENTRY_MIN_SIZE_BYTES = 1024;
private long mNativeLargeIconBridge;
private Profile mProfile;
- private LruCache<String, Pair<Bitmap, Integer>> mFaviconCache;
+ private LruCache<String, Pair<Bitmap, Pair<Integer, Boolean>>> mFaviconCache;
Bernhard Bauer 2016/09/27 16:14:57 This is getting a bit unwieldy... Would it make se
sfiera 2016/09/27 16:50:36 I can do that. Initially I was looking for Tuple3<
sfiera 2016/09/28 13:15:52 Done.
/**
* Callback for use with GetLargeIconForUrl().
@@ -34,7 +34,7 @@ public class LargeIconBridge {
* @param fallbackColor The fallback color to use if icon is null.
*/
@CalledByNative("LargeIconCallback")
- void onLargeIconAvailable(Bitmap icon, int fallbackColor);
+ void onLargeIconAvailable(Bitmap icon, int fallbackColor, boolean isDefaultColor);
}
/**
@@ -55,9 +55,9 @@ public class LargeIconBridge {
public void createCache(int cacheSizeBytes) {
assert cacheSizeBytes > 0;
- mFaviconCache = new LruCache<String, Pair<Bitmap, Integer>>(cacheSizeBytes) {
+ mFaviconCache = new LruCache<String, Pair<Bitmap, Pair<Integer, Boolean>>>(cacheSizeBytes) {
@Override
- protected int sizeOf(String key, Pair<Bitmap, Integer> icon) {
+ protected int sizeOf(String key, Pair<Bitmap, Pair<Integer, Boolean>> icon) {
int iconBitmapSize = icon.first == null ? 0 : icon.first.getByteCount();
return Math.max(CACHE_ENTRY_MIN_SIZE_BYTES, iconBitmapSize);
}
@@ -95,17 +95,21 @@ public class LargeIconBridge {
return nativeGetLargeIconForURL(mNativeLargeIconBridge, mProfile, pageUrl,
desiredSizePx, callback);
} else {
- Pair<Bitmap, Integer> cached = mFaviconCache.get(pageUrl);
+ Pair<Bitmap, Pair<Integer, Boolean>> cached = mFaviconCache.get(pageUrl);
if (cached != null) {
- callback.onLargeIconAvailable(cached.first, cached.second);
+ callback.onLargeIconAvailable(
+ cached.first, cached.second.first, cached.second.second);
return true;
}
LargeIconCallback callbackWrapper = new LargeIconCallback() {
@Override
- public void onLargeIconAvailable(Bitmap icon, int fallbackColor) {
- mFaviconCache.put(pageUrl, new Pair<Bitmap, Integer>(icon, fallbackColor));
- callback.onLargeIconAvailable(icon, fallbackColor);
+ public void onLargeIconAvailable(
+ Bitmap icon, int fallbackColor, boolean isDefaultColor) {
pkotwicz 2016/09/28 03:52:52 Nit: I think that things would be clearer if you r
sfiera 2016/09/28 13:15:52 Done.
+ mFaviconCache.put(pageUrl,
+ new Pair<Bitmap, Pair<Integer, Boolean>>(icon,
+ new Pair<Integer, Boolean>(fallbackColor, isDefaultColor)));
+ callback.onLargeIconAvailable(icon, fallbackColor, isDefaultColor);
}
};
return nativeGetLargeIconForURL(mNativeLargeIconBridge, mProfile, pageUrl,

Powered by Google App Engine
This is Rietveld 408576698