diff options
author | John Reck <jreck@google.com> | 2012-05-07 10:19:48 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-05-07 17:35:10 -0700 |
commit | e38a6c283211dcfd3b1fb390e4c108a86481dd8a (patch) | |
tree | 1e9031716d200f761b0748131e04e38fbd2da5bd /Source/WebKit/android/jni/WebIconDatabase.cpp | |
parent | 2c3ac3ef31c36dba2fd46d8f94658e6d00283f9f (diff) | |
download | external_webkit-e38a6c283211dcfd3b1fb390e4c108a86481dd8a.zip external_webkit-e38a6c283211dcfd3b1fb390e4c108a86481dd8a.tar.gz external_webkit-e38a6c283211dcfd3b1fb390e4c108a86481dd8a.tar.bz2 |
Delay creating Java objects for WebHistoryItem
Bug: 6447632
Change-Id: Ib2fb66f607dd62ffa2d8acbe5882ad6219413120
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); } |