Return unique_ptr from CXFA_FFApp::CreateDoc.
Remove one unused CreateDoc variant.
Review-Url: https://codereview.chromium.org/2576893002
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index b49be38..c292384 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -890,10 +890,10 @@
DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_Create(int width,
int height,
int alpha) {
- std::unique_ptr<CFX_DIBitmap> pBitmap(new CFX_DIBitmap);
- if (!pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32)) {
+ auto pBitmap = pdfium::MakeUnique<CFX_DIBitmap>();
+ if (!pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32))
return nullptr;
- }
+
return pBitmap.release();
}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
index 1995882..7a0ffeb 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
@@ -92,7 +92,7 @@
if (!pApp)
return false;
- m_pXFADoc.reset(pApp->CreateDoc(&m_DocEnv, m_pPDFDoc.get()));
+ m_pXFADoc = pApp->CreateDoc(&m_DocEnv, m_pPDFDoc.get());
if (!m_pXFADoc) {
SetLastError(FPDF_ERR_XFALOAD);
return false;
diff --git a/xfa/fxfa/app/xfa_ffapp.cpp b/xfa/fxfa/app/xfa_ffapp.cpp
index 273b9f5..219f06e 100644
--- a/xfa/fxfa/app/xfa_ffapp.cpp
+++ b/xfa/fxfa/app/xfa_ffapp.cpp
@@ -102,21 +102,17 @@
return m_pDocHandler.get();
}
-CXFA_FFDoc* CXFA_FFApp::CreateDoc(
+std::unique_ptr<CXFA_FFDoc> CXFA_FFApp::CreateDoc(
IXFA_DocEnvironment* pDocEnvironment,
- const CFX_RetainPtr<IFX_SeekableReadStream>& pStream) {
- auto pDoc = pdfium::MakeUnique<CXFA_FFDoc>(this, pDocEnvironment);
- return pDoc->OpenDoc(pStream) ? pDoc.release() : nullptr;
-}
-
-CXFA_FFDoc* CXFA_FFApp::CreateDoc(IXFA_DocEnvironment* pDocEnvironment,
- CPDF_Document* pPDFDoc) {
+ CPDF_Document* pPDFDoc) {
if (!pPDFDoc)
return nullptr;
- std::unique_ptr<CXFA_FFDoc> pDoc(new CXFA_FFDoc(this, pDocEnvironment));
- bool bSuccess = pDoc->OpenDoc(pPDFDoc);
- return bSuccess ? pDoc.release() : nullptr;
+ auto pDoc = pdfium::MakeUnique<CXFA_FFDoc>(this, pDocEnvironment);
+ if (!pDoc->OpenDoc(pPDFDoc))
+ return nullptr;
+
+ return pDoc;
}
void CXFA_FFApp::SetDefaultFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr) {
diff --git a/xfa/fxfa/xfa_ffapp.h b/xfa/fxfa/xfa_ffapp.h
index bc6e948..411fd2d 100644
--- a/xfa/fxfa/xfa_ffapp.h
+++ b/xfa/fxfa/xfa_ffapp.h
@@ -35,10 +35,8 @@
explicit CXFA_FFApp(IXFA_AppProvider* pProvider);
~CXFA_FFApp();
- CXFA_FFDoc* CreateDoc(IXFA_DocEnvironment* pDocEnvironment,
- const CFX_RetainPtr<IFX_SeekableReadStream>& pStream);
- CXFA_FFDoc* CreateDoc(IXFA_DocEnvironment* pDocEnvironment,
- CPDF_Document* pPDFDoc);
+ std::unique_ptr<CXFA_FFDoc> CreateDoc(IXFA_DocEnvironment* pDocEnvironment,
+ CPDF_Document* pPDFDoc);
void SetDefaultFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr);
CXFA_FFDocHandler* GetDocHandler();