summaryrefslogtreecommitdiff
path: root/core/fxcodec/codec/fx_codec_flate.cpp
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-12-13 12:48:13 -0800
committerCommit bot <commit-bot@chromium.org>2016-12-13 12:48:13 -0800
commit974b4a6c4bceb50bbe5bf316e9e273b62eaeceac (patch)
treee243d34a04905b88a11e9146e698daaa0cee2416 /core/fxcodec/codec/fx_codec_flate.cpp
parent988599c5d81bbb568f949454580ec6001258f806 (diff)
downloadpdfium-974b4a6c4bceb50bbe5bf316e9e273b62eaeceac.tar.xz
Return unique_ptr<>s from fxcodec/chromium/2951
Review-Url: https://codereview.chromium.org/2572843002
Diffstat (limited to 'core/fxcodec/codec/fx_codec_flate.cpp')
-rw-r--r--core/fxcodec/codec/fx_codec_flate.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/fxcodec/codec/fx_codec_flate.cpp b/core/fxcodec/codec/fx_codec_flate.cpp
index c5611cc27a..d01b40f318 100644
--- a/core/fxcodec/codec/fx_codec_flate.cpp
+++ b/core/fxcodec/codec/fx_codec_flate.cpp
@@ -8,9 +8,11 @@
#include <algorithm>
#include <memory>
+#include <utility>
#include "core/fxcodec/fx_codec.h"
#include "core/fxcrt/fx_ext.h"
+#include "third_party/base/ptr_util.h"
#include "third_party/zlib_v128/zlib.h"
extern "C" {
@@ -771,7 +773,7 @@ uint32_t CCodec_FlateScanlineDecoder::GetSrcOffset() {
return FPDFAPI_FlateGetTotalIn(m_pFlate);
}
-CCodec_ScanlineDecoder* CCodec_FlateModule::CreateDecoder(
+std::unique_ptr<CCodec_ScanlineDecoder> CCodec_FlateModule::CreateDecoder(
const uint8_t* src_buf,
uint32_t src_size,
int width,
@@ -782,11 +784,12 @@ CCodec_ScanlineDecoder* CCodec_FlateModule::CreateDecoder(
int Colors,
int BitsPerComponent,
int Columns) {
- CCodec_FlateScanlineDecoder* pDecoder = new CCodec_FlateScanlineDecoder;
+ auto pDecoder = pdfium::MakeUnique<CCodec_FlateScanlineDecoder>();
pDecoder->Create(src_buf, src_size, width, height, nComps, bpc, predictor,
Colors, BitsPerComponent, Columns);
- return pDecoder;
+ return std::move(pDecoder);
}
+
uint32_t CCodec_FlateModule::FlateOrLZWDecode(bool bLZW,
const uint8_t* src_buf,
uint32_t src_size,