From 698c5716d005860360527e4cfe15b4a185589117 Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 28 Sep 2016 16:47:07 -0700 Subject: Use string pools in some dictionaries, names, and strings. BUG=pdfium:597 Review-Url: https://codereview.chromium.org/2345063002 --- core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h') diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h index fc69ce2f4b..501b287dfc 100644 --- a/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h +++ b/core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h @@ -11,6 +11,8 @@ #include #include "core/fpdfapi/fpdf_parser/include/cpdf_object.h" +#include "core/fxcrt/include/cfx_string_pool_template.h" +#include "core/fxcrt/include/cfx_weak_ptr.h" #include "core/fxcrt/include/fx_coordinates.h" #include "core/fxcrt/include/fx_string.h" @@ -21,7 +23,7 @@ class CPDF_Dictionary : public CPDF_Object { using iterator = std::map::iterator; using const_iterator = std::map::const_iterator; - CPDF_Dictionary(); + explicit CPDF_Dictionary(const CFX_WeakPtr& pPool); // CPDF_Object. Type GetType() const override; @@ -78,13 +80,17 @@ class CPDF_Dictionary : public CPDF_Object { const_iterator begin() const { return m_Map.begin(); } const_iterator end() const { return m_Map.end(); } + CFX_WeakPtr GetByteStringPool() const { return m_pPool; } + protected: ~CPDF_Dictionary() override; + CFX_ByteString MaybeIntern(const CFX_ByteString& str); CPDF_Object* CloneNonCyclic( bool bDirect, std::set* visited) const override; + CFX_WeakPtr m_pPool; std::map m_Map; }; -- cgit v1.2.3