Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Side by Side Diff: core/fxcodec/codec/fx_codec.cpp

Issue 2572843002: Return unique_ptr<>s from fxcodec/ (Closed)
Patch Set: std::move it Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/fxcodec/fx_codec.h" 7 #include "core/fxcodec/fx_codec.h"
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <memory> 10 #include <memory>
11 #include <utility> 11 #include <utility>
12 12
13 #include "core/fxcodec/codec/codec_int.h" 13 #include "core/fxcodec/codec/codec_int.h"
14 #include "core/fxcrt/fx_ext.h" 14 #include "core/fxcrt/fx_ext.h"
15 #include "core/fxcrt/fx_safe_types.h" 15 #include "core/fxcrt/fx_safe_types.h"
16 #include "third_party/base/logging.h" 16 #include "third_party/base/logging.h"
17 #include "third_party/base/ptr_util.h"
17 18
18 CCodec_ModuleMgr::CCodec_ModuleMgr() 19 CCodec_ModuleMgr::CCodec_ModuleMgr()
19 : m_pBasicModule(new CCodec_BasicModule), 20 : m_pBasicModule(new CCodec_BasicModule),
20 m_pFaxModule(new CCodec_FaxModule), 21 m_pFaxModule(new CCodec_FaxModule),
21 m_pJpegModule(new CCodec_JpegModule), 22 m_pJpegModule(new CCodec_JpegModule),
22 m_pJpxModule(new CCodec_JpxModule), 23 m_pJpxModule(new CCodec_JpxModule),
23 m_pJbig2Module(new CCodec_Jbig2Module), 24 m_pJbig2Module(new CCodec_Jbig2Module),
24 m_pIccModule(new CCodec_IccModule), 25 m_pIccModule(new CCodec_IccModule),
25 #ifdef PDF_ENABLE_XFA 26 #ifdef PDF_ENABLE_XFA
26 m_pPngModule(new CCodec_PngModule), 27 m_pPngModule(new CCodec_PngModule),
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 ASSERT((uint32_t)count >= used_bytes); 296 ASSERT((uint32_t)count >= used_bytes);
296 if (used_bytes == count) { 297 if (used_bytes == count) {
297 m_SrcOffset++; 298 m_SrcOffset++;
298 GetNextOperator(); 299 GetNextOperator();
299 return; 300 return;
300 } 301 }
301 count -= used_bytes; 302 count -= used_bytes;
302 m_Operator = 257 - count; 303 m_Operator = 257 - count;
303 } 304 }
304 305
305 CCodec_ScanlineDecoder* CCodec_BasicModule::CreateRunLengthDecoder( 306 std::unique_ptr<CCodec_ScanlineDecoder>
306 const uint8_t* src_buf, 307 CCodec_BasicModule::CreateRunLengthDecoder(const uint8_t* src_buf,
307 uint32_t src_size, 308 uint32_t src_size,
308 int width, 309 int width,
309 int height, 310 int height,
310 int nComps, 311 int nComps,
311 int bpc) { 312 int bpc) {
312 std::unique_ptr<CCodec_RLScanlineDecoder> pRLScanlineDecoder( 313 auto pDecoder = pdfium::MakeUnique<CCodec_RLScanlineDecoder>();
313 new CCodec_RLScanlineDecoder); 314 if (!pDecoder->Create(src_buf, src_size, width, height, nComps, bpc))
314 if (!pRLScanlineDecoder->Create(src_buf, src_size, width, height, nComps,
315 bpc)) {
316 return nullptr; 315 return nullptr;
317 }
318 316
319 return pRLScanlineDecoder.release(); 317 return std::move(pDecoder);
320 } 318 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698