Chromium Code Reviews| 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 class DeferredImageDecoder { | 42 class DeferredImageDecoder { |
| 43 public: | 43 public: |
| 44 ~DeferredImageDecoder(); | 44 ~DeferredImageDecoder(); |
| 45 static PassOwnPtr<DeferredImageDecoder> create(const SharedBuffer& data, Ima geSource::AlphaOption, ImageSource::GammaAndColorProfileOption); | 45 static PassOwnPtr<DeferredImageDecoder> create(const SharedBuffer& data, Ima geSource::AlphaOption, ImageSource::GammaAndColorProfileOption); |
| 46 | 46 |
| 47 static PassOwnPtr<DeferredImageDecoder> createForTesting(PassOwnPtr<ImageDec oder>); | 47 static PassOwnPtr<DeferredImageDecoder> createForTesting(PassOwnPtr<ImageDec oder>); |
| 48 | 48 |
| 49 static bool isLazyDecoded(const SkBitmap&); | 49 static bool isLazyDecoded(const SkBitmap&); |
| 50 | 50 |
| 51 static void setEnabled(bool); | 51 static void setEnabled(bool); |
| 52 static void setEnabledSkiaDiscardableMemory(bool); | |
|
Stephen White
2013/12/05 21:52:14
Nit: kind of awkward. Could this be setSkiaDiscard
Alpha Left Google
2013/12/08 00:30:11
Done.
| |
| 52 | 53 |
| 53 String filenameExtension() const; | 54 String filenameExtension() const; |
| 54 | 55 |
| 55 ImageFrame* frameBufferAtIndex(size_t index); | 56 ImageFrame* frameBufferAtIndex(size_t index); |
| 56 | 57 |
| 57 void setData(SharedBuffer* data, bool allDataReceived); | 58 void setData(SharedBuffer* data, bool allDataReceived); |
| 58 | 59 |
| 59 bool isSizeAvailable(); | 60 bool isSizeAvailable(); |
| 60 IntSize size() const; | 61 IntSize size() const; |
| 61 IntSize frameSizeAtIndex(size_t index) const; | 62 IntSize frameSizeAtIndex(size_t index) const; |
| 62 size_t frameCount(); | 63 size_t frameCount(); |
| 63 int repetitionCount() const; | 64 int repetitionCount() const; |
| 64 size_t clearCacheExceptFrame(size_t); | 65 size_t clearCacheExceptFrame(size_t); |
| 65 bool frameHasAlphaAtIndex(size_t index) const; | 66 bool frameHasAlphaAtIndex(size_t index) const; |
| 66 bool frameIsCompleteAtIndex(size_t) const; | 67 bool frameIsCompleteAtIndex(size_t) const; |
| 67 float frameDurationAtIndex(size_t) const; | 68 float frameDurationAtIndex(size_t) const; |
| 68 unsigned frameBytesAtIndex(size_t index) const; | 69 unsigned frameBytesAtIndex(size_t index) const; |
| 69 ImageOrientation orientation() const; | 70 ImageOrientation orientation() const; |
| 70 bool hotSpot(IntPoint&) const; | 71 bool hotSpot(IntPoint&) const; |
| 71 | 72 |
| 72 // For testing. | 73 // For testing. |
| 73 ImageFrameGenerator* frameGenerator() { return m_frameGenerator.get(); } | 74 ImageFrameGenerator* frameGenerator() { return m_frameGenerator.get(); } |
| 74 | 75 |
| 75 private: | 76 private: |
| 76 explicit DeferredImageDecoder(PassOwnPtr<ImageDecoder> actualDecoder); | 77 explicit DeferredImageDecoder(PassOwnPtr<ImageDecoder> actualDecoder); |
| 77 void prepareLazyDecodedFrames(); | 78 void prepareLazyDecodedFrames(); |
| 79 SkBitmap createBitmap(size_t index); | |
| 80 SkBitmap createSkiaDiscardableBitmap(size_t index); | |
| 78 SkBitmap createLazyDecodingBitmap(size_t index); | 81 SkBitmap createLazyDecodingBitmap(size_t index); |
| 79 void activateLazyDecoding(); | 82 void activateLazyDecoding(); |
| 80 void setData(PassRefPtr<SharedBuffer>, bool allDataReceived); | 83 void setData(PassRefPtr<SharedBuffer>, bool allDataReceived); |
| 81 | 84 |
| 82 RefPtr<SharedBuffer> m_data; | 85 RefPtr<SharedBuffer> m_data; |
| 83 bool m_allDataReceived; | 86 bool m_allDataReceived; |
| 84 OwnPtr<ImageDecoder> m_actualDecoder; | 87 OwnPtr<ImageDecoder> m_actualDecoder; |
| 85 | 88 |
| 86 String m_filenameExtension; | 89 String m_filenameExtension; |
| 87 IntSize m_size; | 90 IntSize m_size; |
| 88 ImageOrientation m_orientation; | 91 ImageOrientation m_orientation; |
| 89 int m_repetitionCount; | 92 int m_repetitionCount; |
| 90 | 93 |
| 91 Vector<OwnPtr<ImageFrame> > m_lazyDecodedFrames; | 94 Vector<OwnPtr<ImageFrame> > m_lazyDecodedFrames; |
| 92 RefPtr<ImageFrameGenerator> m_frameGenerator; | 95 RefPtr<ImageFrameGenerator> m_frameGenerator; |
| 93 | 96 |
| 94 static bool s_enabled; | 97 static bool s_enabled; |
| 98 static bool s_enabledSkiaDiscardableMemory; | |
| 95 }; | 99 }; |
| 96 | 100 |
| 97 } // namespace WebCore | 101 } // namespace WebCore |
| 98 | 102 |
| 99 #endif | 103 #endif |
| OLD | NEW |