Index: tools/skimage_main.cpp |
diff --git a/tools/skimage_main.cpp b/tools/skimage_main.cpp |
index 6cfc36c7372820760d5986e5e03e434cba3b3de6..ef5c133fc6ba55e8b1003efb5faa261e622cebc8 100644 |
--- a/tools/skimage_main.cpp |
+++ b/tools/skimage_main.cpp |
@@ -327,6 +327,22 @@ static void decodeFileAndWrite(const char srcPath[], const SkString* writePath) |
return; |
} |
+ // Test decoding just the bounds. The bounds should always match. |
+ { |
+ stream.rewind(); |
+ SkBitmap dim; |
+ if (!codec->decode(&stream, &dim, SkImageDecoder::kDecodeBounds_Mode)) { |
+ SkString failure = SkStringPrintf("failed to decode bounds for %s", srcPath); |
+ gDecodeFailures.push_back() = failure; |
+ } else { |
+ // Now check that the bounds match: |
+ if (dim.width() != bitmap.width() || dim.height() != bitmap.height()) { |
+ SkString failure = SkStringPrintf("bounds do not match for %s", srcPath); |
+ gDecodeFailures.push_back() = failure; |
+ } |
+ } |
+ } |
+ |
if (compare_to_expectations_if_necessary(bitmap, filename, &gDecodeFailures)) { |
gSuccessfulDecodes.push_back().printf("%s [%d %d]", srcPath, bitmap.width(), |
bitmap.height()); |