Index: core/fpdfapi/fpdf_page/pageint.h |
diff --git a/core/fpdfapi/fpdf_page/pageint.h b/core/fpdfapi/fpdf_page/pageint.h |
index 427a363e8eb8c77e2e3bad046203158cb4dc1367..c5b80aa5506cf87332d88e789ff33c9d7d6c1588 100644 |
--- a/core/fpdfapi/fpdf_page/pageint.h |
+++ b/core/fpdfapi/fpdf_page/pageint.h |
@@ -16,6 +16,8 @@ |
#include "core/fpdfapi/fpdf_page/cpdf_contentmark.h" |
#include "core/fpdfapi/fpdf_page/cpdf_countedobject.h" |
#include "core/fpdfapi/fpdf_page/include/cpdf_pageobjectholder.h" |
+#include "core/fxcrt/include/cfx_string_pool_template.h" |
+#include "core/fxcrt/include/cfx_weak_ptr.h" |
#include "core/fxge/include/cfx_pathdata.h" |
#include "core/fxge/include/cfx_renderdevice.h" |
@@ -43,6 +45,9 @@ class CPDF_StreamParser { |
enum SyntaxType { EndOfData, Number, Keyword, Name, Others }; |
CPDF_StreamParser(const uint8_t* pData, uint32_t dwSize); |
+ CPDF_StreamParser(const uint8_t* pData, |
+ uint32_t dwSize, |
+ const CFX_WeakPtr<CFX_ByteStringPool>& pPool); |
~CPDF_StreamParser(); |
CPDF_Stream* ReadInlineStream(CPDF_Document* pDoc, |
@@ -66,17 +71,14 @@ class CPDF_StreamParser { |
void GetNextWord(FX_BOOL& bIsNumber); |
CFX_ByteString ReadString(); |
CFX_ByteString ReadHexString(); |
- const uint8_t* m_pBuf; |
- |
- // Length in bytes of m_pBuf. |
- uint32_t m_Size; |
- |
- // Current byte position within m_pBuf. |
- uint32_t m_Pos; |
+ const uint8_t* m_pBuf; |
+ uint32_t m_Size; // Length in bytes of m_pBuf. |
+ uint32_t m_Pos; // Current byte position within m_pBuf. |
uint8_t m_WordBuffer[256]; |
uint32_t m_WordSize; |
CPDF_Object* m_pLastObj; |
+ CFX_WeakPtr<CFX_ByteStringPool> m_pPool; |
private: |
bool PositionIsInBounds() const; |