Use unique_ptr in CFPF_SkiaDeviceModule

Change-Id: Ie50deca34dd3c122efb483ef210f96798abe9e4e
Reviewed-on: https://pdfium-review.googlesource.com/4498
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/android/cfpf_skiadevicemodule.cpp b/core/fxge/android/cfpf_skiadevicemodule.cpp
index 7bdf646..bb3f70a 100644
--- a/core/fxge/android/cfpf_skiadevicemodule.cpp
+++ b/core/fxge/android/cfpf_skiadevicemodule.cpp
@@ -6,7 +6,10 @@
 
 #include "core/fxge/android/cfpf_skiadevicemodule.h"
 
+#include <utility>
+
 #include "core/fxge/android/cfpf_skiafontmgr.h"
+#include "third_party/base/ptr_util.h"
 
 namespace {
 
@@ -20,9 +23,9 @@
   return gs_pPFModule;
 }
 
-CFPF_SkiaDeviceModule::~CFPF_SkiaDeviceModule() {
-  delete m_pFontMgr;
-}
+CFPF_SkiaDeviceModule::CFPF_SkiaDeviceModule() {}
+
+CFPF_SkiaDeviceModule::~CFPF_SkiaDeviceModule() {}
 
 void CFPF_SkiaDeviceModule::Destroy() {
   delete gs_pPFModule;
@@ -31,11 +34,10 @@
 
 CFPF_SkiaFontMgr* CFPF_SkiaDeviceModule::GetFontMgr() {
   if (!m_pFontMgr) {
-    m_pFontMgr = new CFPF_SkiaFontMgr;
-    if (!m_pFontMgr->InitFTLibrary()) {
-      delete m_pFontMgr;
+    auto pNewMgr = pdfium::MakeUnique<CFPF_SkiaFontMgr>();
+    if (!pNewMgr->InitFTLibrary())
       return nullptr;
-    }
+    m_pFontMgr = std::move(pNewMgr);
   }
-  return m_pFontMgr;
+  return m_pFontMgr.get();
 }
diff --git a/core/fxge/android/cfpf_skiadevicemodule.h b/core/fxge/android/cfpf_skiadevicemodule.h
index 3261820..558b084 100644
--- a/core/fxge/android/cfpf_skiadevicemodule.h
+++ b/core/fxge/android/cfpf_skiadevicemodule.h
@@ -7,18 +7,20 @@
 #ifndef CORE_FXGE_ANDROID_CFPF_SKIADEVICEMODULE_H_
 #define CORE_FXGE_ANDROID_CFPF_SKIADEVICEMODULE_H_
 
+#include <memory>
+
 class CFPF_SkiaFontMgr;
 
 class CFPF_SkiaDeviceModule {
  public:
-  CFPF_SkiaDeviceModule() : m_pFontMgr(nullptr) {}
+  CFPF_SkiaDeviceModule();
   ~CFPF_SkiaDeviceModule();
 
   void Destroy();
   CFPF_SkiaFontMgr* GetFontMgr();
 
  protected:
-  CFPF_SkiaFontMgr* m_pFontMgr;
+  std::unique_ptr<CFPF_SkiaFontMgr> m_pFontMgr;
 };
 
 CFPF_SkiaDeviceModule* CFPF_GetSkiaDeviceModule();