diff options
Diffstat (limited to 'Source/WebKit/android/jni/WebIconDatabase.cpp')
-rw-r--r-- | Source/WebKit/android/jni/WebIconDatabase.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/Source/WebKit/android/jni/WebIconDatabase.cpp b/Source/WebKit/android/jni/WebIconDatabase.cpp index c53db0e..da8ce63 100644 --- a/Source/WebKit/android/jni/WebIconDatabase.cpp +++ b/Source/WebKit/android/jni/WebIconDatabase.cpp @@ -50,17 +50,25 @@ namespace android { -jobject webcoreImageToJavaBitmap(JNIEnv* env, WebCore::Image* icon) +SkBitmap webcoreImageToSkBitmap(WebCore::Image* icon) { - if (!icon) - return NULL; SkBitmap bm; + if (!icon) + return bm; WebCore::SharedBuffer* buffer = icon->data(); - if (!buffer || !SkImageDecoder::DecodeMemory(buffer->data(), buffer->size(), - &bm, SkBitmap::kNo_Config, - SkImageDecoder::kDecodePixels_Mode)) - return NULL; + if (!buffer) + return bm; + SkImageDecoder::DecodeMemory(buffer->data(), buffer->size(), &bm, + SkBitmap::kNo_Config, + SkImageDecoder::kDecodePixels_Mode); + return bm; +} +jobject webcoreImageToJavaBitmap(JNIEnv* env, WebCore::Image* icon) +{ + SkBitmap bm = webcoreImageToSkBitmap(icon); + if (bm.isNull()) + return NULL; return GraphicsJNI::createBitmap(env, new SkBitmap(bm), false, NULL); } |