summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/jni/WebIconDatabase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/android/jni/WebIconDatabase.cpp')
-rw-r--r--Source/WebKit/android/jni/WebIconDatabase.cpp57
1 files changed, 22 insertions, 35 deletions
diff --git a/Source/WebKit/android/jni/WebIconDatabase.cpp b/Source/WebKit/android/jni/WebIconDatabase.cpp
index e9219df..d5f8947 100644
--- a/Source/WebKit/android/jni/WebIconDatabase.cpp
+++ b/Source/WebKit/android/jni/WebIconDatabase.cpp
@@ -50,31 +50,18 @@
namespace android {
-SkBitmap* webcoreImageToSkBitmap(WebCore::Image* icon)
+jobject webcoreImageToJavaBitmap(JNIEnv* env, WebCore::Image* icon)
{
if (!icon)
- return 0;
+ return NULL;
+ SkBitmap bm;
WebCore::SharedBuffer* buffer = icon->data();
- if (!buffer)
- return 0;
- SkBitmap* bm = new SkBitmap;
- if (!SkImageDecoder::DecodeMemory(buffer->data(), buffer->size(), bm,
- SkBitmap::kNo_Config,
- SkImageDecoder::kDecodePixels_Mode)
- || bm->isNull() || !bm->width() || !bm->height()
- || bm->config() == SkBitmap::kNo_Config) {
- delete bm;
- return 0;
- }
- return bm;
-}
+ if (!buffer || !SkImageDecoder::DecodeMemory(buffer->data(), buffer->size(),
+ &bm, SkBitmap::kNo_Config,
+ SkImageDecoder::kDecodePixels_Mode))
+ return NULL;
-jobject webcoreImageToJavaBitmap(JNIEnv* env, WebCore::Image* icon)
-{
- SkBitmap* bm = webcoreImageToSkBitmap(icon);
- if (!bm)
- return 0;
- return GraphicsJNI::createBitmap(env, bm, false, NULL);
+ return GraphicsJNI::createBitmap(env, new SkBitmap(bm), false, NULL);
}
static WebIconDatabase* gIconDatabaseClient = new WebIconDatabase();
@@ -181,7 +168,7 @@ static void Open(JNIEnv* env, jobject obj, jstring path)
return;
iconDb.setEnabled(true);
iconDb.setClient(gIconDatabaseClient);
- ALOG_ASSERT(path, "No path given to nativeOpen");
+ LOG_ASSERT(path, "No path given to nativeOpen");
WTF::String pathStr = jstringToWtfString(env, path);
WTF::CString fullPath = WebCore::pathByAppendingComponent(pathStr,
WebCore::IconDatabase::defaultDatabaseFilename()).utf8();
@@ -198,12 +185,12 @@ static void Open(JNIEnv* env, jobject obj, jstring path)
}
}
if (didSetPermissions) {
- ALOGV("Opening WebIconDatabase file '%s'", pathStr.latin1().data());
+ LOGV("Opening WebIconDatabase file '%s'", pathStr.latin1().data());
bool res = iconDb.open(pathStr, WebCore::IconDatabase::defaultDatabaseFilename());
if (!res)
- ALOGE("Open failed!");
+ LOGE("Open failed!");
} else
- ALOGE("Failed to set permissions on '%s'", fullPath.data());
+ LOGE("Failed to set permissions on '%s'", fullPath.data());
}
static void Close(JNIEnv* env, jobject obj)
@@ -213,37 +200,37 @@ static void Close(JNIEnv* env, jobject obj)
static void RemoveAllIcons(JNIEnv* env, jobject obj)
{
- ALOGV("Removing all icons");
+ LOGV("Removing all icons");
WebCore::iconDatabase().removeAllIcons();
}
static jobject IconForPageUrl(JNIEnv* env, jobject obj, jstring url)
{
- ALOG_ASSERT(url, "No url given to iconForPageUrl");
+ LOG_ASSERT(url, "No url given to iconForPageUrl");
WTF::String urlStr = jstringToWtfString(env, url);
// FIXME: This method should not be used from outside WebCore and will be removed.
// http://trac.webkit.org/changeset/81484
WebCore::Image* icon = WebCore::iconDatabase().synchronousIconForPageURL(urlStr, WebCore::IntSize(16, 16));
- ALOGV("Retrieving icon for '%s' %p", urlStr.latin1().data(), icon);
+ LOGV("Retrieving icon for '%s' %p", urlStr.latin1().data(), icon);
return webcoreImageToJavaBitmap(env, icon);
}
static void RetainIconForPageUrl(JNIEnv* env, jobject obj, jstring url)
{
- ALOG_ASSERT(url, "No url given to retainIconForPageUrl");
+ LOG_ASSERT(url, "No url given to retainIconForPageUrl");
WTF::String urlStr = jstringToWtfString(env, url);
- ALOGV("Retaining icon for '%s'", urlStr.latin1().data());
+ LOGV("Retaining icon for '%s'", urlStr.latin1().data());
WebCore::iconDatabase().retainIconForPageURL(urlStr);
}
static void ReleaseIconForPageUrl(JNIEnv* env, jobject obj, jstring url)
{
- ALOG_ASSERT(url, "No url given to releaseIconForPageUrl");
+ LOG_ASSERT(url, "No url given to releaseIconForPageUrl");
WTF::String urlStr = jstringToWtfString(env, url);
- ALOGV("Releasing icon for '%s'", urlStr.latin1().data());
+ LOGV("Releasing icon for '%s'", urlStr.latin1().data());
WebCore::iconDatabase().releaseIconForPageURL(urlStr);
}
@@ -268,12 +255,12 @@ static JNINativeMethod gWebIconDatabaseMethods[] = {
int registerWebIconDatabase(JNIEnv* env)
{
#ifndef NDEBUG
- jclass webIconDatabase = env->FindClass("android/webkit/WebIconDatabaseClassic");
- ALOG_ASSERT(webIconDatabase, "Unable to find class android.webkit.WebIconDatabaseClassic");
+ jclass webIconDatabase = env->FindClass("android/webkit/WebIconDatabase");
+ LOG_ASSERT(webIconDatabase, "Unable to find class android.webkit.WebIconDatabase");
env->DeleteLocalRef(webIconDatabase);
#endif
- return jniRegisterNativeMethods(env, "android/webkit/WebIconDatabaseClassic",
+ return jniRegisterNativeMethods(env, "android/webkit/WebIconDatabase",
gWebIconDatabaseMethods, NELEM(gWebIconDatabaseMethods));
}