summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp')
-rw-r--r--Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp b/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
index 6011b65bc..368bccad2 100644
--- a/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
+++ b/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
@@ -32,7 +32,6 @@
#include "BMPImageDecoder.h"
#include "BMPImageReader.h"
-#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -41,21 +40,20 @@ namespace WebCore {
// don't pack).
static const size_t sizeOfFileHeader = 14;
-BMPImageDecoder::BMPImageDecoder(ImageSource::AlphaOption alphaOption,
- ImageSource::GammaAndColorProfileOption gammaAndColorProfileOption)
+BMPImageDecoder::BMPImageDecoder(AlphaOption alphaOption, GammaAndColorProfileOption gammaAndColorProfileOption)
: ImageDecoder(alphaOption, gammaAndColorProfileOption)
, m_decodedOffset(0)
{
}
-void BMPImageDecoder::setData(SharedBuffer* data, bool allDataReceived)
+void BMPImageDecoder::setData(SharedBuffer& data, bool allDataReceived)
{
if (failed())
return;
ImageDecoder::setData(data, allDataReceived);
if (m_reader)
- m_reader->setData(data);
+ m_reader->setData(&data);
}
bool BMPImageDecoder::isSizeAvailable()
@@ -71,20 +69,18 @@ ImageFrame* BMPImageDecoder::frameBufferAtIndex(size_t index)
if (index)
return 0;
- if (m_frameBufferCache.isEmpty()) {
+ if (m_frameBufferCache.isEmpty())
m_frameBufferCache.resize(1);
- m_frameBufferCache.first().setPremultiplyAlpha(m_premultiplyAlpha);
- }
ImageFrame* buffer = &m_frameBufferCache.first();
- if (buffer->status() != ImageFrame::FrameComplete)
+ if (!buffer->isComplete())
decode(false);
return buffer;
}
bool BMPImageDecoder::setFailed()
{
- m_reader.clear();
+ m_reader = nullptr;
return ImageDecoder::setFailed();
}
@@ -99,8 +95,8 @@ void BMPImageDecoder::decode(bool onlySize)
setFailed();
// If we're done decoding the image, we don't need the BMPImageReader
// anymore. (If we failed, |m_reader| has already been cleared.)
- else if (!m_frameBufferCache.isEmpty() && (m_frameBufferCache.first().status() == ImageFrame::FrameComplete))
- m_reader.clear();
+ else if (!m_frameBufferCache.isEmpty() && m_frameBufferCache.first().isComplete())
+ m_reader = nullptr;
}
bool BMPImageDecoder::decodeHelper(bool onlySize)
@@ -110,7 +106,7 @@ bool BMPImageDecoder::decodeHelper(bool onlySize)
return false;
if (!m_reader) {
- m_reader = adoptPtr(new BMPImageReader(this, m_decodedOffset, imgDataOffset, false));
+ m_reader = std::make_unique<BMPImageReader>(this, m_decodedOffset, imgDataOffset, false);
m_reader->setData(m_data.get());
}