| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 class ImageFrameGeneratorTest : public ::testing::Test, public MockImageDecoderC
lient { | 65 class ImageFrameGeneratorTest : public ::testing::Test, public MockImageDecoderC
lient { |
| 66 public: | 66 public: |
| 67 virtual void SetUp() | 67 virtual void SetUp() |
| 68 { | 68 { |
| 69 ImageDecodingStore::initializeOnce(); | 69 ImageDecodingStore::initializeOnce(); |
| 70 m_data = SharedBuffer::create(); | 70 m_data = SharedBuffer::create(); |
| 71 m_generator = ImageFrameGenerator::create(fullSize(), m_data, true); | 71 m_generator = ImageFrameGenerator::create(fullSize(), m_data, true); |
| 72 m_generator->setImageDecoderFactoryForTesting(MockImageDecoderFactory::c
reate(this)); | 72 m_generator->setImageDecoderFactoryForTesting(MockImageDecoderFactory::c
reate(this)); |
| 73 m_decodersDestroyed = 0; | 73 m_decodersDestroyed = 0; |
| 74 m_frameBufferRequestCount = 0; | 74 m_frameBufferRequestCount = 0; |
| 75 m_frameStatus = ImageFrame::FrameEmpty; | 75 m_status = ImageFrame::FrameEmpty; |
| 76 } | 76 } |
| 77 | 77 |
| 78 virtual void TearDown() | 78 virtual void TearDown() |
| 79 { | 79 { |
| 80 ImageDecodingStore::shutdown(); | 80 ImageDecodingStore::shutdown(); |
| 81 } | 81 } |
| 82 | 82 |
| 83 virtual void decoderBeingDestroyed() | 83 virtual void decoderBeingDestroyed() |
| 84 { | 84 { |
| 85 ++m_decodersDestroyed; | 85 ++m_decodersDestroyed; |
| 86 } | 86 } |
| 87 | 87 |
| 88 virtual void frameBufferRequested() | 88 virtual void frameBufferRequested() |
| 89 { | 89 { |
| 90 ++m_frameBufferRequestCount; | 90 ++m_frameBufferRequestCount; |
| 91 } | 91 } |
| 92 | 92 |
| 93 virtual ImageFrame::FrameStatus frameStatus() | 93 virtual ImageFrame::Status status() |
| 94 { | 94 { |
| 95 ImageFrame::FrameStatus currentStatus = m_frameStatus; | 95 ImageFrame::Status currentStatus = m_status; |
| 96 m_frameStatus = m_nextFrameStatus; | 96 m_status = m_nextFrameStatus; |
| 97 return currentStatus; | 97 return currentStatus; |
| 98 } | 98 } |
| 99 | 99 |
| 100 virtual size_t frameCount() { return 1; } | 100 virtual size_t frameCount() { return 1; } |
| 101 virtual int repetitionCount() const { return cAnimationNone; } | 101 virtual int repetitionCount() const { return cAnimationNone; } |
| 102 virtual float frameDuration() const { return 0; } | 102 virtual float frameDuration() const { return 0; } |
| 103 | 103 |
| 104 protected: | 104 protected: |
| 105 PassOwnPtr<ScaledImageFragment> createCompleteImage(const SkISize& size) | 105 PassOwnPtr<ScaledImageFragment> createCompleteImage(const SkISize& size) |
| 106 { | 106 { |
| 107 SkBitmap bitmap; | 107 SkBitmap bitmap; |
| 108 bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height(
)); | 108 bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height(
)); |
| 109 bitmap.allocPixels(); | 109 bitmap.allocPixels(); |
| 110 return ScaledImageFragment::createComplete(size, 0, bitmap); | 110 return ScaledImageFragment::createComplete(size, 0, bitmap); |
| 111 } | 111 } |
| 112 | 112 |
| 113 void addNewData() | 113 void addNewData() |
| 114 { | 114 { |
| 115 m_data->append("g", 1); | 115 m_data->append("g", 1); |
| 116 m_generator->setData(m_data, false); | 116 m_generator->setData(m_data, false); |
| 117 } | 117 } |
| 118 | 118 |
| 119 void setFrameStatus(ImageFrame::FrameStatus status) { m_frameStatus = m_nex
tFrameStatus = status; } | 119 void setFrameStatus(ImageFrame::Status status) { m_status = m_nextFrameStat
us = status; } |
| 120 void setNextFrameStatus(ImageFrame::FrameStatus status) { m_nextFrameStatus
= status; } | 120 void setNextFrameStatus(ImageFrame::Status status) { m_nextFrameStatus = st
atus; } |
| 121 | 121 |
| 122 RefPtr<SharedBuffer> m_data; | 122 RefPtr<SharedBuffer> m_data; |
| 123 RefPtr<ImageFrameGenerator> m_generator; | 123 RefPtr<ImageFrameGenerator> m_generator; |
| 124 int m_decodersDestroyed; | 124 int m_decodersDestroyed; |
| 125 int m_frameBufferRequestCount; | 125 int m_frameBufferRequestCount; |
| 126 ImageFrame::FrameStatus m_frameStatus; | 126 ImageFrame::Status m_status; |
| 127 ImageFrame::FrameStatus m_nextFrameStatus; | 127 ImageFrame::Status m_nextFrameStatus; |
| 128 }; | 128 }; |
| 129 | 129 |
| 130 PassOwnPtr<ImageDecoder> MockImageDecoderFactory::create() | 130 PassOwnPtr<ImageDecoder> MockImageDecoderFactory::create() |
| 131 { | 131 { |
| 132 OwnPtr<MockImageDecoder> decoder = MockImageDecoder::create(m_test); | 132 OwnPtr<MockImageDecoder> decoder = MockImageDecoder::create(m_test); |
| 133 decoder->setSize(fullSize().width(), fullSize().height()); | 133 decoder->setSize(fullSize().width(), fullSize().height()); |
| 134 decoder->setFrameHasAlpha(false); | 134 decoder->setFrameHasAlpha(false); |
| 135 return decoder.release(); | 135 return decoder.release(); |
| 136 } | 136 } |
| 137 | 137 |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 ASSERT_TRUE(tempDecoder); | 422 ASSERT_TRUE(tempDecoder); |
| 423 static_cast<MockImageDecoder*>(tempDecoder)->setFrameHasAlpha(false); | 423 static_cast<MockImageDecoder*>(tempDecoder)->setFrameHasAlpha(false); |
| 424 ImageDecodingStore::instance()->unlockDecoder(m_generator.get(), tempDecoder
); | 424 ImageDecodingStore::instance()->unlockDecoder(m_generator.get(), tempDecoder
); |
| 425 | 425 |
| 426 setFrameStatus(ImageFrame::FrameComplete); | 426 setFrameStatus(ImageFrame::FrameComplete); |
| 427 ImageDecodingStore::instance()->unlockCache(m_generator.get(), m_generator->
decodeAndScale(fullSize(), 1)); | 427 ImageDecodingStore::instance()->unlockCache(m_generator.get(), m_generator->
decodeAndScale(fullSize(), 1)); |
| 428 EXPECT_FALSE(m_generator->hasAlpha(1)); | 428 EXPECT_FALSE(m_generator->hasAlpha(1)); |
| 429 } | 429 } |
| 430 | 430 |
| 431 } // namespace | 431 } // namespace |
| OLD | NEW |