From 5cc0a40c39aed4624a89c19fac43e92c68922bc1 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 10 Jun 2015 23:21:52 -0700 Subject: Merge to XFA: Convert CPDF_ImageMap to std::map. Also simplify CPDF_DocPageData::ReleaseIccProfile() since its first argument is always null. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1149273004. (cherry picked from commit a8a718c974210a919f2af0b099d540143cf330c6) Review URL: https://codereview.chromium.org/1180613004. --- core/src/fpdfapi/fpdf_page/pageint.h | 41 ++++-------------------------------- 1 file changed, 4 insertions(+), 37 deletions(-) (limited to 'core/src/fpdfapi/fpdf_page/pageint.h') diff --git a/core/src/fpdfapi/fpdf_page/pageint.h b/core/src/fpdfapi/fpdf_page/pageint.h index 70b4624e7e..a9dd5222e4 100644 --- a/core/src/fpdfapi/fpdf_page/pageint.h +++ b/core/src/fpdfapi/fpdf_page/pageint.h @@ -12,7 +12,6 @@ #include "../../../include/fpdfapi/fpdf_pageobj.h" #define PARSE_STEP_LIMIT 100 -#define STREAM_PARSE_BUFSIZE 20480 class CPDF_StreamParser { @@ -328,40 +327,6 @@ public: FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale; }; -template -KeyType PDF_DocPageData_FindValue(const CFX_MapPtrTemplate*> &map, ValueType findValue, CPDF_CountedObject*& findData) -{ - FX_POSITION pos = map.GetStartPosition(); - while (pos) { - KeyType findKey; - map.GetNextAssoc(pos, findKey, findData); - if (findData->m_Obj == findValue) { - return findKey; - } - } - findData = NULL; - return (KeyType)(uintptr_t)NULL; -} -template -FX_BOOL PDF_DocPageData_Release(CFX_MapPtrTemplate*> &map, KeyType findKey, ValueType findValue, FX_BOOL bForce = FALSE) -{ - if (!findKey && !findValue) { - return FALSE; - } - CPDF_CountedObject* findData = NULL; - if (!findKey) { - findKey = PDF_DocPageData_FindValue(map, findValue, findData); - } else if (!map.Lookup(findKey, findData)) { - return FALSE; - } - if (findData && ((-- findData->m_nCount) == 0 || bForce)) { - delete findData->m_Obj; - delete findData; - map.RemoveKey(findKey); - return TRUE; - } - return FALSE; -} class CPDF_DocPageData { public: @@ -380,7 +345,7 @@ class CPDF_DocPageData CPDF_Image* GetImage(CPDF_Object* pImageStream); void ReleaseImage(CPDF_Object* pImageStream); CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream); - void ReleaseIccProfile(CPDF_Stream* pIccProfileStream, CPDF_IccProfile* pIccProfile); + void ReleaseIccProfile(CPDF_IccProfile* pIccProfile); CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream); void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStream, FX_BOOL bForce = FALSE); FX_BOOL IsForceClear() const {return m_bForceClear;} @@ -388,7 +353,6 @@ class CPDF_DocPageData CPDF_CountedPattern* FindPatternPtr(CPDF_Object* pPatternObj) const; CPDF_Document* m_pPDFDoc; - CPDF_ImageMap m_ImageMap; CPDF_IccProfileMap m_IccProfileMap; CFX_MapByteStringToPtr m_HashProfileMap; CPDF_FontFileMap m_FontFileMap; @@ -396,13 +360,16 @@ class CPDF_DocPageData private: using CPDF_CountedFont = CPDF_CountedObject; + using CPDF_CountedImage = CPDF_CountedObject; using CPDF_ColorSpaceMap = std::map; using CPDF_FontMap = std::map; + using CPDF_ImageMap = std::map; using CPDF_PatternMap = std::map; CPDF_ColorSpaceMap m_ColorSpaceMap; CPDF_FontMap m_FontMap; + CPDF_ImageMap m_ImageMap; CPDF_PatternMap m_PatternMap; }; -- cgit v1.2.3