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 17f488c9dcaeac1ae5094fc39e9686f2245cb8e9..2c81611bb81b6ba339f5f7bc19ba4124fcb23e5b 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,8 @@ void TestRepetitionCount(const char* dir, |
RefPtr<SharedBuffer> data = ReadFile(dir, file); |
ASSERT_TRUE(data.Get()); |
decoder->SetData(data.Get(), true); |
- EXPECT_EQ(kAnimationLoopOnce, |
- decoder->RepetitionCount()); // Default value before decode. |
- for (size_t i = 0; i < decoder->FrameCount(); ++i) { |
- ImageFrame* frame = decoder->DecodeFrameBufferAtIndex(i); |
- EXPECT_EQ(ImageFrame::kFrameComplete, frame->GetStatus()); |
- } |
- |
- EXPECT_EQ(expected_repetition_count, |
- decoder->RepetitionCount()); // Expected value after decode. |
+ EXPECT_EQ(expected_repetition_count, decoder->RepetitionCount()); |
} |
} // anonymous namespace |
@@ -79,7 +71,6 @@ TEST(GIFImageDecoderTest, decodeTwoFrames) { |
RefPtr<SharedBuffer> data = ReadFile(kLayoutTestResourcesDir, "animated.gif"); |
ASSERT_TRUE(data.Get()); |
decoder->SetData(data.Get(), true); |
- EXPECT_EQ(kAnimationLoopOnce, decoder->RepetitionCount()); |
ImageFrame* frame = decoder->DecodeFrameBufferAtIndex(0); |
uint32_t generation_id0 = frame->Bitmap().getGenerationID(); |
@@ -104,10 +95,6 @@ TEST(GIFImageDecoderTest, parseAndDecode) { |
RefPtr<SharedBuffer> data = ReadFile(kLayoutTestResourcesDir, "animated.gif"); |
ASSERT_TRUE(data.Get()); |
decoder->SetData(data.Get(), true); |
- EXPECT_EQ(kAnimationLoopOnce, decoder->RepetitionCount()); |
- |
- // This call will parse the entire file. |
- EXPECT_EQ(2u, decoder->FrameCount()); |
ImageFrame* frame = decoder->DecodeFrameBufferAtIndex(0); |
EXPECT_EQ(ImageFrame::kFrameComplete, frame->GetStatus()); |
@@ -321,10 +308,13 @@ TEST(GIFImageDecoderTest, invalidDisposalMethod) { |
EXPECT_EQ(2u, decoder->FrameCount()); |
// Disposal method 4 is converted to ImageFrame::DisposeOverwritePrevious. |
+ // This is because some specs say method 3 is "overwrite previous", while |
+ // others say setting the third bit (i.e. method 4) is. |
EXPECT_EQ(ImageFrame::kDisposeOverwritePrevious, |
decoder->DecodeFrameBufferAtIndex(0)->GetDisposalMethod()); |
- // Disposal method 5 is ignored. |
- EXPECT_EQ(ImageFrame::kDisposeNotSpecified, |
+ // Unknown disposal methods (5 in this case) are converted to |
+ // ImageFrame::DisposeKeep. |
+ EXPECT_EQ(ImageFrame::kDisposeKeep, |
decoder->DecodeFrameBufferAtIndex(1)->GetDisposalMethod()); |
} |
@@ -391,11 +381,11 @@ TEST(GIFImageDecoderTest, bitmapAlphaType) { |
ImageFrame* premul_frame = premul_decoder->DecodeFrameBufferAtIndex(0); |
EXPECT_TRUE(premul_frame && |
premul_frame->GetStatus() != ImageFrame::kFrameComplete); |
- EXPECT_EQ(premul_frame->Bitmap().alphaType(), kPremul_SkAlphaType); |
+ EXPECT_EQ(kPremul_SkAlphaType, premul_frame->Bitmap().alphaType()); |
ImageFrame* unpremul_frame = unpremul_decoder->DecodeFrameBufferAtIndex(0); |
EXPECT_TRUE(unpremul_frame && |
unpremul_frame->GetStatus() != ImageFrame::kFrameComplete); |
- EXPECT_EQ(unpremul_frame->Bitmap().alphaType(), kUnpremul_SkAlphaType); |
+ EXPECT_EQ(kUnpremul_SkAlphaType, unpremul_frame->Bitmap().alphaType()); |
// Fully decoded frame => the frame alpha type is known (opaque). |
premul_decoder->SetData(full_data_buffer.Get(), true); |
@@ -405,11 +395,11 @@ TEST(GIFImageDecoderTest, bitmapAlphaType) { |
premul_frame = premul_decoder->DecodeFrameBufferAtIndex(0); |
EXPECT_TRUE(premul_frame && |
premul_frame->GetStatus() == ImageFrame::kFrameComplete); |
- EXPECT_EQ(premul_frame->Bitmap().alphaType(), kOpaque_SkAlphaType); |
+ EXPECT_EQ(kOpaque_SkAlphaType, premul_frame->Bitmap().alphaType()); |
unpremul_frame = unpremul_decoder->DecodeFrameBufferAtIndex(0); |
EXPECT_TRUE(unpremul_frame && |
unpremul_frame->GetStatus() == ImageFrame::kFrameComplete); |
- EXPECT_EQ(unpremul_frame->Bitmap().alphaType(), kOpaque_SkAlphaType); |
+ EXPECT_EQ(kOpaque_SkAlphaType, unpremul_frame->Bitmap().alphaType()); |
} |
namespace { |