Index: third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp b/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp |
index c72740578780138748b5e4a7f3ff8f3616f71faf..53f231fd5abecc469f587dc57057720abe08b64f 100644 |
--- a/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp |
@@ -140,6 +140,7 @@ TEST_F(ImageFrameGeneratorTest, incompleteDecode) { |
m_generator->decodeAndScale(m_segmentReader.get(), false, 0, imageInfo(), |
buffer, 100 * 4); |
EXPECT_EQ(2, m_decodeRequestCount); |
+ |
EXPECT_EQ(0, m_decodersDestroyed); |
} |
@@ -166,6 +167,37 @@ TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesComplete) { |
EXPECT_EQ(3, m_decodeRequestCount); |
} |
+TEST_F(ImageFrameGeneratorTest, scaleAfterDecode) { |
+ setFrameStatus(ImageFrame::FramePartial); |
+ |
+ char scaledBuffer[30 * 30 * 4]; |
+ m_generator->decodeAndScale(m_segmentReader.get(), false, 0, |
+ imageInfo().makeWH(30, 30), scaledBuffer, 30 * 4); |
+ EXPECT_EQ(1, m_decodeRequestCount); |
+ |
+ char buffer[100 * 100 * 4]; |
+ addNewData(); |
+ m_generator->decodeAndScale(m_segmentReader.get(), false, 0, imageInfo(), |
+ buffer, 100 * 4); |
+ EXPECT_EQ(2, m_decodeRequestCount); |
+ |
+ char scaledBuffer1[45 * 48 * 4]; |
+ addNewData(); |
+ m_generator->decodeAndScale(m_segmentReader.get(), false, 0, |
+ imageInfo().makeWH(45, 45), scaledBuffer1, |
+ 48 * 4); |
+ EXPECT_EQ(3, m_decodeRequestCount); |
+ EXPECT_EQ(0, m_decodersDestroyed); |
+ |
+ setFrameStatus(ImageFrame::FrameComplete); |
+ addNewData(); |
+ |
+ m_generator->decodeAndScale(m_segmentReader.get(), false, 0, |
+ imageInfo().makeWH(30, 30), scaledBuffer, 30 * 4); |
+ EXPECT_EQ(4, m_decodeRequestCount); |
+ EXPECT_EQ(1, m_decodersDestroyed); |
+} |
+ |
static void decodeThreadMain(ImageFrameGenerator* generator, |
SegmentReader* segmentReader) { |
char buffer[100 * 100 * 4]; |