diff options
author | 2015-12-11 07:38:50 -0800 | |
---|---|---|
committer | 2015-12-11 07:38:50 -0800 | |
commit | 9a0e3467da2a61ec81f676c147c21c77de91fccf (patch) | |
tree | 34f92186cea75a2af48dc76d3cb0bdf8905d2317 /src/android/SkBitmapRegionCanvas.cpp | |
parent | e804292e805917002cc3d7baa7f967fb20d2c7cb (diff) |
Make BitmapRegionDecoder succeed on invalid requests
If the client requests a color type or alpha type that is
not supported, we should decode to the default/appropriate
color and alpha types to match existing behavior in Android.
BUG=skia:
Review URL: https://codereview.chromium.org/1513023002
Diffstat (limited to 'src/android/SkBitmapRegionCanvas.cpp')
-rw-r--r-- | src/android/SkBitmapRegionCanvas.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/android/SkBitmapRegionCanvas.cpp b/src/android/SkBitmapRegionCanvas.cpp index bac5dc1ffc..c7c42bd9a2 100644 --- a/src/android/SkBitmapRegionCanvas.cpp +++ b/src/android/SkBitmapRegionCanvas.cpp @@ -18,6 +18,7 @@ SkBitmapRegionCanvas::SkBitmapRegionCanvas(SkCodec* decoder) bool SkBitmapRegionCanvas::decodeRegion(SkBitmap* bitmap, SkBRDAllocator* allocator, const SkIRect& desiredSubset, int sampleSize, SkColorType dstColorType, bool requireUnpremul) { + // Reject color types not supported by this method if (kIndex_8_SkColorType == dstColorType || kGray_8_SkColorType == dstColorType) { SkCodecPrintf("Error: Color type not supported.\n"); @@ -34,8 +35,6 @@ bool SkBitmapRegionCanvas::decodeRegion(SkBitmap* bitmap, SkBRDAllocator* alloca dstAlphaType = kPremul_SkAlphaType; } - // FIXME: Can we add checks and support kIndex8 or unpremultiplied alpha in special cases? - // Fix the input sampleSize if necessary. if (sampleSize < 1) { sampleSize = 1; |