Index: third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp |
diff --git a/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp b/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp |
index d7ff80ed8abbd1d06688ce880514bd98bcf0a116..a8c7704fbb8479ecabbe9218bf832426720979ea 100644 |
--- a/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp |
+++ b/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp |
@@ -59,16 +59,7 @@ void testRepetitionCount(const char* dir, |
RefPtr<SharedBuffer> data = readFile(dir, file); |
ASSERT_TRUE(data.get()); |
decoder->setData(data.get(), true); |
- EXPECT_EQ(cAnimationLoopOnce, |
- decoder->repetitionCount()); // Default value before decode. |
- |
- for (size_t i = 0; i < decoder->frameCount(); ++i) { |
- ImageFrame* frame = decoder->frameBufferAtIndex(i); |
- EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus()); |
- } |
- |
- EXPECT_EQ(expectedRepetitionCount, |
- decoder->repetitionCount()); // Expected value after decode. |
+ EXPECT_EQ(expectedRepetitionCount, decoder->repetitionCount()); |
} |
} // anonymous namespace |
@@ -79,7 +70,6 @@ TEST(GIFImageDecoderTest, decodeTwoFrames) { |
RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif"); |
ASSERT_TRUE(data.get()); |
decoder->setData(data.get(), true); |
- EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); |
ImageFrame* frame = decoder->frameBufferAtIndex(0); |
uint32_t generationID0 = frame->bitmap().getGenerationID(); |
@@ -104,10 +94,6 @@ TEST(GIFImageDecoderTest, parseAndDecode) { |
RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif"); |
ASSERT_TRUE(data.get()); |
decoder->setData(data.get(), true); |
- EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); |
- |
- // This call will parse the entire file. |
- EXPECT_EQ(2u, decoder->frameCount()); |
ImageFrame* frame = decoder->frameBufferAtIndex(0); |
EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus()); |
@@ -307,24 +293,6 @@ TEST(GIFImageDecoderTest, badCode) { |
EXPECT_TRUE(testDecoder->failed()); |
} |
-TEST(GIFImageDecoderTest, invalidDisposalMethod) { |
- std::unique_ptr<ImageDecoder> decoder = createDecoder(); |
- |
- // The image has 2 frames, with disposal method 4 and 5, respectively. |
- RefPtr<SharedBuffer> data = |
- readFile(decodersTestingDir, "invalid-disposal-method.gif"); |
- ASSERT_TRUE(data.get()); |
- decoder->setData(data.get(), true); |
- |
- EXPECT_EQ(2u, decoder->frameCount()); |
- // Disposal method 4 is converted to ImageFrame::DisposeOverwritePrevious. |
- EXPECT_EQ(ImageFrame::DisposeOverwritePrevious, |
- decoder->frameBufferAtIndex(0)->getDisposalMethod()); |
- // Disposal method 5 is ignored. |
- EXPECT_EQ(ImageFrame::DisposeNotSpecified, |
- decoder->frameBufferAtIndex(1)->getDisposalMethod()); |
-} |
- |
TEST(GIFImageDecoderTest, firstFrameHasGreaterSizeThanScreenSize) { |
RefPtr<SharedBuffer> fullData = readFile( |
decodersTestingDir, "first-frame-has-greater-size-than-screen-size.gif"); |
@@ -359,14 +327,6 @@ TEST(GIFImageDecoderTest, bitmapAlphaType) { |
RefPtr<SharedBuffer> fullData = readFile(decodersTestingDir, "radient.gif"); |
ASSERT_TRUE(fullData.get()); |
- // Empirically chosen truncation size: |
- // a) large enough to produce a partial frame && |
- // b) small enough to not fully decode the frame |
- const size_t kTruncateSize = 800; |
- ASSERT_TRUE(kTruncateSize < fullData->size()); |
- RefPtr<SharedBuffer> partialData = |
- SharedBuffer::create(fullData->data(), kTruncateSize); |
- |
std::unique_ptr<ImageDecoder> premulDecoder = WTF::wrapUnique( |
new GIFImageDecoder(ImageDecoder::AlphaPremultiplied, |
ColorBehavior::transformToTargetForTesting(), |
@@ -376,34 +336,18 @@ TEST(GIFImageDecoderTest, bitmapAlphaType) { |
ColorBehavior::transformToTargetForTesting(), |
ImageDecoder::noDecodedImageByteLimit)); |
- // Partially decoded frame => the frame alpha type is unknown and should |
- // reflect the requested format. |
- premulDecoder->setData(partialData.get(), false); |
- ASSERT_TRUE(premulDecoder->frameCount()); |
- unpremulDecoder->setData(partialData.get(), false); |
- ASSERT_TRUE(unpremulDecoder->frameCount()); |
- ImageFrame* premulFrame = premulDecoder->frameBufferAtIndex(0); |
- EXPECT_TRUE(premulFrame && |
- premulFrame->getStatus() != ImageFrame::FrameComplete); |
- EXPECT_EQ(premulFrame->bitmap().alphaType(), kPremul_SkAlphaType); |
- ImageFrame* unpremulFrame = unpremulDecoder->frameBufferAtIndex(0); |
- EXPECT_TRUE(unpremulFrame && |
- unpremulFrame->getStatus() != ImageFrame::FrameComplete); |
- EXPECT_EQ(unpremulFrame->bitmap().alphaType(), kUnpremul_SkAlphaType); |
- |
- // Fully decoded frame => the frame alpha type is known (opaque). |
premulDecoder->setData(fullData.get(), true); |
ASSERT_TRUE(premulDecoder->frameCount()); |
unpremulDecoder->setData(fullData.get(), true); |
ASSERT_TRUE(unpremulDecoder->frameCount()); |
- premulFrame = premulDecoder->frameBufferAtIndex(0); |
+ ImageFrame* premulFrame = premulDecoder->frameBufferAtIndex(0); |
EXPECT_TRUE(premulFrame && |
premulFrame->getStatus() == ImageFrame::FrameComplete); |
- EXPECT_EQ(premulFrame->bitmap().alphaType(), kOpaque_SkAlphaType); |
- unpremulFrame = unpremulDecoder->frameBufferAtIndex(0); |
+ EXPECT_EQ(premulFrame->bitmap().alphaType(), kPremul_SkAlphaType); |
+ ImageFrame* unpremulFrame = unpremulDecoder->frameBufferAtIndex(0); |
EXPECT_TRUE(unpremulFrame && |
unpremulFrame->getStatus() == ImageFrame::FrameComplete); |
- EXPECT_EQ(unpremulFrame->bitmap().alphaType(), kOpaque_SkAlphaType); |
+ EXPECT_EQ(unpremulFrame->bitmap().alphaType(), kUnpremul_SkAlphaType); |
} |
namespace { |