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

Unified Diff: chrome/browser/android/favicon_helper.cc

Issue 331163003: [Refactor] Change FaviconService API to take in a desired pixel size (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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/browser/android/favicon_helper.cc
diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/favicon_helper.cc
index 201d451634411583117a3d260036eeda4ddf40c6..59690619d72386e7d856e7b02c46edda622ada1c 100644
--- a/chrome/browser/android/favicon_helper.cc
+++ b/chrome/browser/android/favicon_helper.cc
@@ -39,16 +39,21 @@ namespace {
void OnLocalFaviconAvailable(
ScopedJavaGlobalRef<jobject>* j_favicon_image_callback,
- const favicon_base::FaviconImageResult& favicon_image_result) {
+ const favicon_base::FaviconRawBitmapResult& result) {
JNIEnv* env = AttachCurrentThread();
// Convert favicon_image_result to java objects.
ScopedJavaLocalRef<jstring> j_icon_url =
- ConvertUTF8ToJavaString(env, favicon_image_result.icon_url.spec());
- SkBitmap favicon_bitmap = favicon_image_result.image.AsBitmap();
+ ConvertUTF8ToJavaString(env, result.icon_url.spec());
ScopedJavaLocalRef<jobject> j_favicon_bitmap;
- if (!favicon_bitmap.isNull())
- j_favicon_bitmap = gfx::ConvertToJavaBitmap(&favicon_bitmap);
+ if (result.is_valid()) {
+ SkBitmap favicon_bitmap;
+ gfx::PNGCodec::Decode(result.bitmap_data->front(),
+ result.bitmap_data->size(),
+ &favicon_bitmap);
+ if (!favicon_bitmap.isNull())
+ j_favicon_bitmap = gfx::ConvertToJavaBitmap(&favicon_bitmap);
+ }
// Call java side OnLocalFaviconAvailable method.
Java_FaviconImageCallback_onFaviconAvailable(env,
@@ -103,7 +108,7 @@ jboolean FaviconHelper::GetLocalFaviconImageForURL(
jobject j_profile,
jstring j_page_url,
jint j_icon_types,
- jint j_desired_size_in_dip,
+ jint j_desired_size_in_pixel,
sky 2014/07/10 00:03:39 Were all call sites already passing in pixels?
pkotwicz 2014/07/11 01:23:08 In the implementation of OnLocalFaviconAvailable()
jobject j_favicon_image_callback) {
Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
DCHECK(profile);
@@ -116,11 +121,6 @@ jboolean FaviconHelper::GetLocalFaviconImageForURL(
if (!favicon_service)
return false;
- FaviconService::FaviconForPageURLParams params(
- GURL(ConvertJavaStringToUTF16(env, j_page_url)),
- static_cast<int>(j_icon_types),
- static_cast<int>(j_desired_size_in_dip));
-
ScopedJavaGlobalRef<jobject>* j_scoped_favicon_callback =
new ScopedJavaGlobalRef<jobject>();
j_scoped_favicon_callback->Reset(env, j_favicon_image_callback);
@@ -128,8 +128,11 @@ jboolean FaviconHelper::GetLocalFaviconImageForURL(
favicon_base::FaviconImageCallback callback_runner = base::Bind(
&OnLocalFaviconAvailable, base::Owned(j_scoped_favicon_callback));
- favicon_service->GetFaviconImageForPageURL(
- params, callback_runner,
+ favicon_service->GetRawFaviconForPageURL(
+ GURL(ConvertJavaStringToUTF16(env, j_page_url),
+ static_cast<int>(j_icon_types),
+ static_cast<int>(j_desired_size_in_pixel),
+ callback_runner,
cancelable_task_tracker_.get());
return true;

Powered by Google App Engine
This is Rietveld 408576698