Chromium Code Reviews| Index: src/android/SkBitmapRegionDecoder.cpp |
| diff --git a/src/android/SkBitmapRegionDecoder.cpp b/src/android/SkBitmapRegionDecoder.cpp |
| index 7dc05059e1b76255f307cda621bc02a5d3856584..55bc64651a0d450c3f5a3f033e6ba315bd16d81d 100644 |
| --- a/src/android/SkBitmapRegionDecoder.cpp |
| +++ b/src/android/SkBitmapRegionDecoder.cpp |
| @@ -30,29 +30,37 @@ SkBitmapRegionDecoder* SkBitmapRegionDecoder::Create( |
| return nullptr; |
| } |
| - if (SkEncodedFormat::kWEBP_SkEncodedFormat == codec->getEncodedFormat()) { |
| - // FIXME: Support webp using a special case. Webp does not support |
| - // scanline decoding. |
| - return nullptr; |
| - } |
| - |
| - switch (codec->getScanlineOrder()) { |
|
scroggo
2015/11/16 14:20:06
I suppose you took this out because we should neve
msarett
2015/11/16 14:27:51
Yes you're right. Sounds good to me.
|
| - case SkCodec::kTopDown_SkScanlineOrder: |
| - case SkCodec::kNone_SkScanlineOrder: |
| + SkEncodedFormat format = codec->getEncodedFormat(); |
| + switch (format) { |
| + case SkEncodedFormat::kJPEG_SkEncodedFormat: |
| + case SkEncodedFormat::kPNG_SkEncodedFormat: |
| break; |
| default: |
| - SkCodecPrintf("Error: Scanline ordering not supported.\n"); |
| + // FIXME: Support webp using a special case. Webp does not support |
| + // scanline decoding. |
| return nullptr; |
| } |
| + |
| return new SkBitmapRegionCanvas(codec.detach()); |
| } |
| case kAndroidCodec_Strategy: { |
| SkAutoTDelete<SkAndroidCodec> codec = |
| SkAndroidCodec::NewFromStream(streamDeleter.detach()); |
| - if (NULL == codec) { |
| + if (nullptr == codec) { |
| SkCodecPrintf("Error: Failed to create codec.\n"); |
| return NULL; |
| } |
| + |
| + SkEncodedFormat format = codec->getEncodedFormat(); |
| + switch (format) { |
| + case SkEncodedFormat::kJPEG_SkEncodedFormat: |
| + case SkEncodedFormat::kPNG_SkEncodedFormat: |
| + case SkEncodedFormat::kWEBP_SkEncodedFormat: |
| + break; |
| + default: |
| + return nullptr; |
| + } |
| + |
| return new SkBitmapRegionCodec(codec.detach()); |
| } |
| default: |