diff options
author | scroggo <scroggo@chromium.org> | 2015-08-12 08:31:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-12 08:31:44 -0700 |
commit | d1bc5746ba9ec86b1ef50aa0d3131adb0e2843f5 (patch) | |
tree | 4a48908b556d4c8fde76b7b1b3822034437f9bf6 /src/codec/SkCodec_wbmp.cpp | |
parent | 5a4d23508c3ca2c6cbca4e725ce65c0227b3b9ac (diff) |
Update CodexTest to test valid_alpha.
Add a static function to CodexTest, which consolidates decoding,
comparing to an expected SkCodec::Result, and optionally comparing to a
digest.
Test decoding non-opaque to opaque (fails) and premul to unpremul/vice
versa (succeeds).
BUG=skia:3475
Review URL: https://codereview.chromium.org/1277253003
Diffstat (limited to 'src/codec/SkCodec_wbmp.cpp')
-rw-r--r-- | src/codec/SkCodec_wbmp.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/codec/SkCodec_wbmp.cpp b/src/codec/SkCodec_wbmp.cpp index 52535e1f02..6f98294fc6 100644 --- a/src/codec/SkCodec_wbmp.cpp +++ b/src/codec/SkCodec_wbmp.cpp @@ -120,6 +120,10 @@ SkCodec::Result SkWbmpCodec::onGetPixels(const SkImageInfo& info, return kInvalidScale; } + if (!valid_alpha(info.alphaType(), this->getInfo().alphaType())) { + return SkCodec::kInvalidConversion; + } + // Prepare a color table if necessary setup_color_table(info.colorType(), ctable, ctableCount); @@ -200,6 +204,10 @@ public: return SkCodec::kInvalidScale; } + if (!valid_alpha(dstInfo.alphaType(), this->getInfo().alphaType())) { + return SkCodec::kInvalidConversion; + } + // Fill in the color table setup_color_table(dstInfo.colorType(), inputColorTable, inputColorCount); |