Remove more |new|s, part 5

Many of these are already unique_ptrs.

Change-Id: I3695d4ff5a8f7483ad994ac7657897fd55069cd5
Reviewed-on: https://pdfium-review.googlesource.com/4690
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/core/fxcrt/xml/cfx_saxreader.cpp b/core/fxcrt/xml/cfx_saxreader.cpp
index 13efdcc..c345c0c 100644
--- a/core/fxcrt/xml/cfx_saxreader.cpp
+++ b/core/fxcrt/xml/cfx_saxreader.cpp
@@ -199,7 +199,7 @@
   m_bCharData = false;
   m_dwDataOffset = 0;
   m_dwParseMode = dwParseMode;
-  m_Stack.emplace(new CFX_SAXItem(++m_dwItemID));
+  m_Stack.push(pdfium::MakeUnique<CFX_SAXItem>(++m_dwItemID));
   return 0;
 }
 
diff --git a/core/fxge/cfx_unicodeencodingex.h b/core/fxge/cfx_unicodeencodingex.h
index 21deb44..e62410a 100644
--- a/core/fxge/cfx_unicodeencodingex.h
+++ b/core/fxge/cfx_unicodeencodingex.h
@@ -30,8 +30,8 @@
   uint32_t m_nEncodingID;
 };
 
-CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(
+std::unique_ptr<CFX_UnicodeEncodingEx> FX_CreateFontEncodingEx(
     CFX_Font* pFont,
-    uint32_t nEncodingID = FXFM_ENCODING_NONE);
+    uint32_t nEncodingID);
 
 #endif  // CORE_FXGE_CFX_UNICODEENCODINGEX_H_
diff --git a/core/fxge/ge/cfx_facecache.cpp b/core/fxge/ge/cfx_facecache.cpp
index 0969cdf..5ad7bdd 100644
--- a/core/fxge/ge/cfx_facecache.cpp
+++ b/core/fxge/ge/cfx_facecache.cpp
@@ -396,8 +396,9 @@
   CFX_SizeGlyphCache* pSizeCache;
   auto it = m_SizeMap.find(FaceGlyphsKey);
   if (it == m_SizeMap.end()) {
-    pSizeCache = new CFX_SizeGlyphCache;
-    m_SizeMap[FaceGlyphsKey] = std::unique_ptr<CFX_SizeGlyphCache>(pSizeCache);
+    auto pNewCache = pdfium::MakeUnique<CFX_SizeGlyphCache>();
+    pSizeCache = pNewCache.get();
+    m_SizeMap[FaceGlyphsKey] = std::move(pNewCache);
   } else {
     pSizeCache = it->second.get();
   }
diff --git a/core/fxge/ge/cfx_fontcache.cpp b/core/fxge/ge/cfx_fontcache.cpp
index 1599c30..5ccac8c 100644
--- a/core/fxge/ge/cfx_fontcache.cpp
+++ b/core/fxge/ge/cfx_fontcache.cpp
@@ -38,8 +38,10 @@
 
   auto counted_face_cache = pdfium::MakeUnique<CountedFaceCache>();
   counted_face_cache->m_nCount = 2;
-  CFX_FaceCache* face_cache = new CFX_FaceCache(bExternal ? nullptr : face);
-  counted_face_cache->m_Obj.reset(face_cache);
+  auto new_cache =
+      pdfium::MakeUnique<CFX_FaceCache>(bExternal ? nullptr : face);
+  CFX_FaceCache* face_cache = new_cache.get();
+  counted_face_cache->m_Obj = std::move(new_cache);
   map[face] = std::move(counted_face_cache);
   return face_cache;
 }
diff --git a/core/fxge/ge/cfx_unicodeencodingex.cpp b/core/fxge/ge/cfx_unicodeencodingex.cpp
index cd7625f..3f28d42 100644
--- a/core/fxge/ge/cfx_unicodeencodingex.cpp
+++ b/core/fxge/ge/cfx_unicodeencodingex.cpp
@@ -6,9 +6,12 @@
 
 #include "core/fxge/cfx_unicodeencodingex.h"
 
+#include <memory>
+
 #include "core/fpdfapi/font/cpdf_font.h"
 #include "core/fxge/fx_font.h"
 #include "core/fxge/fx_freetype.h"
+#include "third_party/base/ptr_util.h"
 
 namespace {
 
@@ -22,11 +25,12 @@
     FXFM_ENCODING_APPLE_ROMAN,
 };
 
-CFX_UnicodeEncodingEx* FXFM_CreateFontEncoding(CFX_Font* pFont,
-                                               uint32_t nEncodingID) {
+std::unique_ptr<CFX_UnicodeEncodingEx> FXFM_CreateFontEncoding(
+    CFX_Font* pFont,
+    uint32_t nEncodingID) {
   if (FXFT_Select_Charmap(pFont->GetFace(), nEncodingID))
     return nullptr;
-  return new CFX_UnicodeEncodingEx(pFont, nEncodingID);
+  return pdfium::MakeUnique<CFX_UnicodeEncodingEx>(pFont, nEncodingID);
 }
 
 }  // namespace
@@ -80,8 +84,9 @@
   return CPDF_Font::kInvalidCharCode;
 }
 
-CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(CFX_Font* pFont,
-                                               uint32_t nEncodingID) {
+std::unique_ptr<CFX_UnicodeEncodingEx> FX_CreateFontEncodingEx(
+    CFX_Font* pFont,
+    uint32_t nEncodingID) {
   if (!pFont || !pFont->GetFace())
     return nullptr;
 
@@ -89,7 +94,7 @@
     return FXFM_CreateFontEncoding(pFont, nEncodingID);
 
   for (size_t i = 0; i < FX_ArraySize(g_EncodingID); ++i) {
-    CFX_UnicodeEncodingEx* pFontEncoding =
+    std::unique_ptr<CFX_UnicodeEncodingEx> pFontEncoding =
         FXFM_CreateFontEncoding(pFont, g_EncodingID[i]);
     if (pFontEncoding)
       return pFontEncoding;
diff --git a/core/fxge/ge/fx_ge_linux.cpp b/core/fxge/ge/fx_ge_linux.cpp
index b216e12..4e4b205 100644
--- a/core/fxge/ge/fx_ge_linux.cpp
+++ b/core/fxge/ge/fx_ge_linux.cpp
@@ -5,11 +5,13 @@
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #include <memory>
+#include <utility>
 
 #include "core/fxcrt/fx_codepage.h"
 #include "core/fxge/cfx_gemodule.h"
 #include "core/fxge/ge/cfx_folderfontinfo.h"
 #include "core/fxge/ifx_systemfontinfo.h"
+#include "third_party/base/ptr_util.h"
 
 #if _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_
 namespace {
@@ -145,14 +147,14 @@
 
 std::unique_ptr<IFX_SystemFontInfo> IFX_SystemFontInfo::CreateDefault(
     const char** pUserPaths) {
-  CFX_LinuxFontInfo* pInfo = new CFX_LinuxFontInfo;
+  auto pInfo = pdfium::MakeUnique<CFX_LinuxFontInfo>();
   if (!pInfo->ParseFontCfg(pUserPaths)) {
     pInfo->AddPath("/usr/share/fonts");
     pInfo->AddPath("/usr/share/X11/fonts/Type1");
     pInfo->AddPath("/usr/share/X11/fonts/TTF");
     pInfo->AddPath("/usr/local/share/fonts");
   }
-  return std::unique_ptr<IFX_SystemFontInfo>(pInfo);
+  return std::move(pInfo);
 }
 
 void CFX_GEModule::InitPlatform() {
diff --git a/fxbarcode/oned/BC_OneDimWriter.cpp b/fxbarcode/oned/BC_OneDimWriter.cpp
index b898340..14c5911 100644
--- a/fxbarcode/oned/BC_OneDimWriter.cpp
+++ b/fxbarcode/oned/BC_OneDimWriter.cpp
@@ -135,8 +135,8 @@
                                     float geWidth,
                                     int32_t fontSize,
                                     float& charsLen) {
-  std::unique_ptr<CFX_UnicodeEncodingEx> encoding(
-      FX_CreateFontEncodingEx(cFont));
+  std::unique_ptr<CFX_UnicodeEncodingEx> encoding =
+      FX_CreateFontEncodingEx(cFont, FXFM_ENCODING_NONE);
 
   int32_t length = text.GetLength();
   uint32_t* pCharCode = FX_Alloc(uint32_t, text.GetLength());
diff --git a/xfa/fgas/font/cfgas_gefont.cpp b/xfa/fgas/font/cfgas_gefont.cpp
index ab77369..b1bd769 100644
--- a/xfa/fgas/font/cfgas_gefont.cpp
+++ b/xfa/fgas/font/cfgas_gefont.cpp
@@ -160,12 +160,11 @@
   if (!m_pFont)
     return false;
 
-  if (!m_pFontEncoding) {
-    m_pFontEncoding.reset(FX_CreateFontEncodingEx(m_pFont));
-    if (!m_pFontEncoding)
-      return false;
-  }
-  return true;
+  if (m_pFontEncoding)
+    return true;
+
+  m_pFontEncoding = FX_CreateFontEncodingEx(m_pFont, FXFM_ENCODING_NONE);
+  return !!m_pFontEncoding;
 }
 
 CFX_RetainPtr<CFGAS_GEFont> CFGAS_GEFont::Derive(uint32_t dwFontStyles,
diff --git a/xfa/fwl/cfwl_caret.cpp b/xfa/fwl/cfwl_caret.cpp
index da57cb4..a6ea9dd 100644
--- a/xfa/fwl/cfwl_caret.cpp
+++ b/xfa/fwl/cfwl_caret.cpp
@@ -25,7 +25,7 @@
                        std::unique_ptr<CFWL_WidgetProperties> properties,
                        CFWL_Widget* pOuter)
     : CFWL_Widget(app, std::move(properties), pOuter),
-      m_pTimer(new CFWL_Caret::Timer(this)),
+      m_pTimer(pdfium::MakeUnique<CFWL_Caret::Timer>(this)),
       m_pTimerInfo(nullptr) {
   SetStates(FWL_STATE_CAT_HightLight);
 }
diff --git a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
index 14adc77..d17a1ba 100644
--- a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
@@ -23,7 +23,7 @@
 #include "xfa/fxfa/parser/xfa_utils.h"
 
 CXFA_ResolveProcessor::CXFA_ResolveProcessor()
-    : m_iCurStart(0), m_pNodeHelper(new CXFA_NodeHelper) {}
+    : m_iCurStart(0), m_pNodeHelper(pdfium::MakeUnique<CXFA_NodeHelper>()) {}
 
 CXFA_ResolveProcessor::~CXFA_ResolveProcessor() {}