From 5913a6ca71c85401e3f5317758d44a9fc4a667b2 Mon Sep 17 00:00:00 2001 From: tsepez Date: Wed, 16 Nov 2016 17:31:18 -0800 Subject: Make CPDF_Object subclass constructors intern strings Make CDPF_Arrays intern the object they create. Allow passing nullptr as a CFX_WeakPtr shortcut as well. Review-Url: https://codereview.chromium.org/2509123002 --- core/fpdfapi/page/cpdf_streamcontentparser.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'core/fpdfapi/page/cpdf_streamcontentparser.cpp') diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp index 5ef47bc68e..aed5d4b2e2 100644 --- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp +++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp @@ -323,8 +323,8 @@ void CPDF_StreamContentParser::AddNameParam(const FX_CHAR* name, int len) { ContentParam& param = m_ParamBuf[GetNextParamPos()]; if (len > 32) { param.m_Type = ContentParam::OBJECT; - param.m_pObject = new CPDF_Name( - m_pDocument->GetByteStringPool()->Intern(PDF_NameDecode(bsName))); + param.m_pObject = + new CPDF_Name(m_pDocument->GetByteStringPool(), PDF_NameDecode(bsName)); } else { param.m_Type = ContentParam::NAME; if (bsName.Find('#') == -1) { @@ -385,8 +385,9 @@ CPDF_Object* CPDF_StreamContentParser::GetObject(uint32_t index) { return pNumber; } if (param.m_Type == ContentParam::NAME) { - CPDF_Name* pName = new CPDF_Name(m_pDocument->GetByteStringPool()->Intern( - CFX_ByteString(param.m_Name.m_Buffer, param.m_Name.m_Len))); + CPDF_Name* pName = new CPDF_Name( + m_pDocument->GetByteStringPool(), + CFX_ByteString(param.m_Name.m_Buffer, param.m_Name.m_Len)); param.m_Type = ContentParam::OBJECT; param.m_pObject = pName; return pName; -- cgit v1.2.3