summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/android/content_view_core_impl.cc2
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java5
-rw-r--r--content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java2
3 files changed, 5 insertions, 4 deletions
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 81d59d0..c9b6394 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -639,7 +639,7 @@ void ContentViewCoreImpl::GetScaledContentBitmap(
gfx::Rect src_subrect,
ReadbackRequestCallback& result_callback) {
RenderWidgetHostViewAndroid* view = GetRenderWidgetHostViewAndroid();
- if (!view) {
+ if (!view || color_type == kUnknown_SkColorType) {
result_callback.Run(SkBitmap(), READBACK_FAILED);
return;
}
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java b/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java
index ded0664..a84e44f 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentReadbackHandler.java
@@ -78,10 +78,11 @@ public abstract class ContentReadbackHandler {
* @param srcRect A subrect of the original content to capture. If this is empty, it will grab
* the whole surface.
* @param view The {@link ContentViewCore} to grab the bitmap from.
+ * @param config The output content bitmap configuration.
* @param callback The callback to be executed after readback completes.
*/
public void getContentBitmapAsync(float scale, Rect srcRect, ContentViewCore view,
- GetBitmapCallback callback) {
+ Bitmap.Config config, GetBitmapCallback callback) {
if (!readyForReadback()) {
callback.onFinishGetBitmap(null);
return;
@@ -91,7 +92,7 @@ public abstract class ContentReadbackHandler {
int readbackId = mNextReadbackId++;
mGetBitmapRequests.put(readbackId, callback);
nativeGetContentBitmap(mNativeContentReadbackHandler, readbackId, scale,
- Bitmap.Config.ARGB_8888, srcRect.top, srcRect.left, srcRect.width(),
+ config, srcRect.top, srcRect.left, srcRect.width(),
srcRect.height(), view);
}
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java
index efed06e..03b3885 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/ContentViewReadbackTest.java
@@ -115,7 +115,7 @@ public class ContentViewReadbackTest extends ContentShellTestBase {
contentReadbackHandler.initNativeContentReadbackHandler();
contentReadbackHandler.getContentBitmapAsync(1.0f, new Rect(), getContentViewCore(),
- callback);
+ Bitmap.Config.ARGB_8888, callback);
}
});
assertWaitForReadback(readbackDone);