Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(517)

Side by Side Diff: core/src/fpdfapi/fpdf_page/pageint.h

Issue 477323002: Font is used after release in CPDF_TextStateData::~CPDF_TextStateData (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../../../include/fpdfapi/fpdf_pageobj.h" 7 #include "../../../include/fpdfapi/fpdf_pageobj.h"
8 #define PARSE_STEP_LIMIT 100 8 #define PARSE_STEP_LIMIT 100
9 #define STREAM_PARSE_BUFSIZE 20480 9 #define STREAM_PARSE_BUFSIZE 20480
10 class CPDF_QuickFontCache; 10 class CPDF_QuickFontCache;
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 map.RemoveKey(findKey); 405 map.RemoveKey(findKey);
406 return TRUE; 406 return TRUE;
407 } 407 }
408 return FALSE; 408 return FALSE;
409 } 409 }
410 class CPDF_DocPageData : public CFX_Object 410 class CPDF_DocPageData : public CFX_Object
411 { 411 {
412 public: 412 public:
413 CPDF_DocPageData(CPDF_Document *pPDFDoc); 413 CPDF_DocPageData(CPDF_Document *pPDFDoc);
414 ~CPDF_DocPageData(); 414 ~CPDF_DocPageData();
415 void» » » » » Clear(FX_BOOL bRelease = FALSE); 415 void Clear(FX_BOOL bRelease = FALSE);
416 CPDF_Font*» » » » GetFont(CPDF_Dictionary* pFontDict, FX_B OOL findOnly); 416 CPDF_Font* GetFont(CPDF_Dictionary* pFontDict, FX_BOOL find Only);
417 CPDF_Font*» » » » GetStandardFont(FX_BSTR fontName, CPDF_F ontEncoding* pEncoding); 417 CPDF_Font* GetStandardFont(FX_BSTR fontName, CPDF_FontEncod ing* pEncoding);
418 void» » » » » ReleaseFont(CPDF_Dictionary* pFo ntDict); 418 void ReleaseFont(CPDF_Dictionary* pFontDict);
419 CPDF_ColorSpace*» » GetColorSpace(CPDF_Object* pCSObj, CPDF_Dictiona ry* pResources); 419 CPDF_ColorSpace* GetColorSpace(CPDF_Object* pCSObj, CPDF_Dictiona ry* pResources);
420 CPDF_ColorSpace*» » GetCopiedColorSpace(CPDF_Object* pCSObj); 420 CPDF_ColorSpace* GetCopiedColorSpace(CPDF_Object* pCSObj);
421 void» » » » » ReleaseColorSpace(CPDF_Object* p ColorSpace); 421 void ReleaseColorSpace(CPDF_Object* pColorSpace);
422 CPDF_Pattern*» » » GetPattern(CPDF_Object* pPatternObj, FX_ BOOL bShading, const CFX_AffineMatrix* matrix); 422 CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj, FX_BOOL bSh ading, const CFX_AffineMatrix* matrix);
423 void» » » » » ReleasePattern(CPDF_Object* pPat ternObj); 423 void ReleasePattern(CPDF_Object* pPatternObj);
424 CPDF_Image*»» » » GetImage(CPDF_Object* pImageStream); 424 CPDF_Image* GetImage(CPDF_Object* pImageStream);
425 void» » » » » ReleaseImage(CPDF_Object* pImage Stream); 425 void ReleaseImage(CPDF_Object* pImageStream);
426 CPDF_IccProfile*» » GetIccProfile(CPDF_Stream* pIccProfileStream, FX _INT32 nComponents); 426 CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream, FX _INT32 nComponents);
427 void» » » » » ReleaseIccProfile(CPDF_Stream* p IccProfileStream, CPDF_IccProfile* pIccProfile); 427 void ReleaseIccProfile(CPDF_Stream* pIccProfileStream , CPDF_IccProfile* pIccProfile);
428 CPDF_StreamAcc*» » » GetFontFileStreamAcc(CPDF_Stream* pFontS tream); 428 CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream);
429 void» » » » » ReleaseFontFileStreamAcc(CPDF_St ream* pFontStream, FX_BOOL bForce = FALSE); 429 void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStrea m, FX_BOOL bForce = FALSE);
430 CPDF_Document*» » » m_pPDFDoc; 430 FX_BOOL IsForceClear() const {return m_bForceClear;}
431 CPDF_FontMap» » » m_FontMap; 431
Tom Sepez 2014/08/18 22:38:58 nit: the m_ members should be protected: given the
432 CPDF_ColorSpaceMap» » m_ColorSpaceMap; 432 CPDF_Document* m_pPDFDoc;
433 CPDF_PatternMap» » » m_PatternMap; 433 CPDF_FontMap m_FontMap;
434 CPDF_ImageMap» » » m_ImageMap; 434 CPDF_ColorSpaceMap m_ColorSpaceMap;
435 CPDF_IccProfileMap» » m_IccProfileMap; 435 CPDF_PatternMap m_PatternMap;
436 CFX_MapByteStringToPtr» m_HashProfileMap; 436 CPDF_ImageMap m_ImageMap;
437 CPDF_FontFileMap» » m_FontFileMap; 437 CPDF_IccProfileMap m_IccProfileMap;
438 CFX_MapByteStringToPtr m_HashProfileMap;
439 CPDF_FontFileMap m_FontFileMap;
440 FX_BOOL m_bForceClear;
438 }; 441 };
439 class CPDF_Function : public CFX_Object 442 class CPDF_Function : public CFX_Object
440 { 443 {
441 public: 444 public:
442 static CPDF_Function* Load(CPDF_Object* pFuncObj); 445 static CPDF_Function* Load(CPDF_Object* pFuncObj);
443 virtual ~CPDF_Function(); 446 virtual ~CPDF_Function();
444 FX_BOOL Call(FX_FLOAT* inputs, int ninputs, FX_FLOAT* results, i nt& nresults) const; 447 FX_BOOL Call(FX_FLOAT* inputs, int ninputs, FX_FLOAT* results, i nt& nresults) const;
445 int CountInputs() 448 int CountInputs()
446 { 449 {
447 return m_nInputs; 450 return m_nInputs;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 public: 499 public:
497 struct _NamingState : public CFX_Object { 500 struct _NamingState : public CFX_Object {
498 CFX_ByteString m_Prefix; 501 CFX_ByteString m_Prefix;
499 int m_nIndex; 502 int m_nIndex;
500 }; 503 };
501 ~CPDF_ResourceNaming(); 504 ~CPDF_ResourceNaming();
502 CFX_ByteString GetName(const CPDF_Dictionary* pResList, FX_LPCS TR szType); 505 CFX_ByteString GetName(const CPDF_Dictionary* pResList, FX_LPCS TR szType);
503 protected: 506 protected:
504 CFX_MapByteStringToPtr m_NamingCache; 507 CFX_MapByteStringToPtr m_NamingCache;
505 }; 508 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698