| 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];
|
|
|