From cd5e12a9ea397b48056643a7b65126395eec3174 Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 7 Dec 2016 13:45:41 -0800 Subject: Catch stray Retains() and Releases() outside of RetainPtr<>. The previous CLs made the code clean, so now we can mark more things private, and add friends as appropriate. Review-Url: https://codereview.chromium.org/2560783003 --- core/fxcrt/fx_xml_parser.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'core/fxcrt/fx_xml_parser.cpp') diff --git a/core/fxcrt/fx_xml_parser.cpp b/core/fxcrt/fx_xml_parser.cpp index ab30926387..1b562c2083 100644 --- a/core/fxcrt/fx_xml_parser.cpp +++ b/core/fxcrt/fx_xml_parser.cpp @@ -70,8 +70,8 @@ bool g_FXCRT_XML_IsNameChar(uint8_t ch) { class CXML_DataBufAcc : public IFX_BufferedReadStream { public: - CXML_DataBufAcc(const uint8_t* pBuffer, size_t size); - ~CXML_DataBufAcc() override; + template + friend CFX_RetainPtr pdfium::MakeRetain(Args&&... args); // IFX_BufferedReadStream bool IsEOF() override; @@ -83,6 +83,9 @@ class CXML_DataBufAcc : public IFX_BufferedReadStream { FX_FILESIZE GetBlockOffset() override; private: + CXML_DataBufAcc(const uint8_t* pBuffer, size_t size); + ~CXML_DataBufAcc() override; + const uint8_t* m_pBuffer; size_t m_dwSize; size_t m_dwCurPos; @@ -130,9 +133,8 @@ FX_FILESIZE CXML_DataBufAcc::GetBlockOffset() { class CXML_DataStmAcc : public IFX_BufferedReadStream { public: - explicit CXML_DataStmAcc( - const CFX_RetainPtr& pFileRead); - ~CXML_DataStmAcc() override; + template + friend CFX_RetainPtr pdfium::MakeRetain(Args&&... args); // IFX_BufferedReadStream bool IsEOF() override; @@ -144,6 +146,10 @@ class CXML_DataStmAcc : public IFX_BufferedReadStream { FX_FILESIZE GetBlockOffset() override; private: + explicit CXML_DataStmAcc( + const CFX_RetainPtr& pFileRead); + ~CXML_DataStmAcc() override; + CFX_RetainPtr m_pFileRead; uint8_t* m_pBuffer; FX_FILESIZE m_nStart; @@ -215,12 +221,12 @@ CXML_Parser::CXML_Parser() CXML_Parser::~CXML_Parser() {} bool CXML_Parser::Init(uint8_t* pBuffer, size_t size) { - m_pDataAcc.Reset(new CXML_DataBufAcc(pBuffer, size)); + m_pDataAcc = pdfium::MakeRetain(pBuffer, size); return Init(); } bool CXML_Parser::Init(const CFX_RetainPtr& pFileRead) { - m_pDataAcc.Reset(new CXML_DataStmAcc(pFileRead)); + m_pDataAcc = pdfium::MakeRetain(pFileRead); return Init(); } -- cgit v1.2.3