From 63e8b66b4c29b76d89df4d8c84b3c29f527d0ebb Mon Sep 17 00:00:00 2001 From: "leandrogracia@chromium.org" Date: Wed, 27 Feb 2013 13:11:33 +0000 Subject: Return empty Picture objects for empty SkPictures. The current code is not properly handling the empty vs NULL Picture case. Fix this to prevent trying to create empty auxiliary bitmaps, which raises Java exceptions. BUG= NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12340105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184943 0039d316-1c4b-4281-b951-d872f2087c98 --- android_webview/browser/browser_view_renderer_impl.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'android_webview/browser') diff --git a/android_webview/browser/browser_view_renderer_impl.cc b/android_webview/browser/browser_view_renderer_impl.cc index 250cdb0..cc3cd8f 100644 --- a/android_webview/browser/browser_view_renderer_impl.cc +++ b/android_webview/browser/browser_view_renderer_impl.cc @@ -452,7 +452,13 @@ ScopedJavaLocalRef BrowserViewRendererImpl::CapturePicture() { if (!picture || !g_sw_draw_functions) return ScopedJavaLocalRef(); + // Return empty Picture objects for empty SkPictures. JNIEnv* env = AttachCurrentThread(); + if (picture->width() <= 0 || picture->height() <= 0) { + return java_helper_->RecordBitmapIntoPicture( + env, ScopedJavaLocalRef()); + } + if (g_is_skia_version_compatible) { return ScopedJavaLocalRef(env, g_sw_draw_functions->create_picture(env, picture->clone())); -- cgit v1.1