From 06104a8abc71ecd824d6a461b6f6f31c32fd2135 Mon Sep 17 00:00:00 2001 From: tsepez Date: Mon, 21 Nov 2016 16:22:10 -0800 Subject: Remove some WrapUnique() calls by returing unique_ptrs Return these from underlying methods as appropriate. Review-Url: https://codereview.chromium.org/2520133002 --- core/fpdfapi/font/cpdf_fontencoding.cpp | 23 +++++++++++------------ core/fpdfapi/font/cpdf_fontencoding.h | 4 +++- 2 files changed, 14 insertions(+), 13 deletions(-) (limited to 'core/fpdfapi/font') diff --git a/core/fpdfapi/font/cpdf_fontencoding.cpp b/core/fpdfapi/font/cpdf_fontencoding.cpp index df21267e1d..88b2c8d6a5 100644 --- a/core/fpdfapi/font/cpdf_fontencoding.cpp +++ b/core/fpdfapi/font/cpdf_fontencoding.cpp @@ -1672,7 +1672,8 @@ bool CPDF_FontEncoding::IsIdentical(CPDF_FontEncoding* pAnother) const { 0; } -CPDF_Object* CPDF_FontEncoding::Realize(CFX_WeakPtr pPool) { +std::unique_ptr CPDF_FontEncoding::Realize( + CFX_WeakPtr pPool) { int predefined = 0; for (int cs = PDFFONT_ENCODING_WINANSI; cs < PDFFONT_ENCODING_ZAPFDINGBATS; cs++) { @@ -1690,15 +1691,13 @@ CPDF_Object* CPDF_FontEncoding::Realize(CFX_WeakPtr pPool) { } } if (predefined) { - if (predefined == PDFFONT_ENCODING_WINANSI) { - return new CPDF_Name(pPool, "WinAnsiEncoding"); - } - if (predefined == PDFFONT_ENCODING_MACROMAN) { - return new CPDF_Name(pPool, "MacRomanEncoding"); - } - if (predefined == PDFFONT_ENCODING_MACEXPERT) { - return new CPDF_Name(pPool, "MacExpertEncoding"); - } + if (predefined == PDFFONT_ENCODING_WINANSI) + return pdfium::MakeUnique(pPool, "WinAnsiEncoding"); + if (predefined == PDFFONT_ENCODING_MACROMAN) + return pdfium::MakeUnique(pPool, "MacRomanEncoding"); + if (predefined == PDFFONT_ENCODING_MACEXPERT) + return pdfium::MakeUnique(pPool, "MacExpertEncoding"); + return nullptr; } const uint16_t* pStandard = @@ -1712,10 +1711,10 @@ CPDF_Object* CPDF_FontEncoding::Realize(CFX_WeakPtr pPool) { pDiff->AddNew(PDF_AdobeNameFromUnicode(m_Unicodes[i])); } - CPDF_Dictionary* pDict = new CPDF_Dictionary(pPool); + auto pDict = pdfium::MakeUnique(pPool); pDict->SetNewFor("BaseEncoding", "WinAnsiEncoding"); pDict->SetFor("Differences", std::move(pDiff)); - return pDict; + return std::move(pDict); } uint32_t FT_CharCodeFromUnicode(int encoding, FX_WCHAR unicode) { diff --git a/core/fpdfapi/font/cpdf_fontencoding.h b/core/fpdfapi/font/cpdf_fontencoding.h index a497681e5e..6c0de909e1 100644 --- a/core/fpdfapi/font/cpdf_fontencoding.h +++ b/core/fpdfapi/font/cpdf_fontencoding.h @@ -7,6 +7,8 @@ #ifndef CORE_FPDFAPI_FONT_CPDF_FONTENCODING_H_ #define CORE_FPDFAPI_FONT_CPDF_FONTENCODING_H_ +#include + #include "core/fxcrt/cfx_string_pool_template.h" #include "core/fxcrt/cfx_weak_ptr.h" #include "core/fxcrt/fx_string.h" @@ -52,7 +54,7 @@ class CPDF_FontEncoding { m_Unicodes[charcode] = unicode; } - CPDF_Object* Realize(CFX_WeakPtr pPool); + std::unique_ptr Realize(CFX_WeakPtr pPool); public: FX_WCHAR m_Unicodes[256]; -- cgit v1.2.3