diff options
author | tsepez <tsepez@chromium.org> | 2016-11-16 17:31:18 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-16 17:31:18 -0800 |
commit | 5913a6ca71c85401e3f5317758d44a9fc4a667b2 (patch) | |
tree | 388ad0bd98b44a47c251568e198e2c3c231c7d30 /fpdfsdk | |
parent | cc4d0a44f3025821f88f3ed1ee78dfdc416487c7 (diff) | |
download | pdfium-5913a6ca71c85401e3f5317758d44a9fc4a667b2.tar.xz |
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
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/formfiller/cba_fontmap.cpp | 3 | ||||
-rw-r--r-- | fpdfsdk/fpdfdoc_unittest.cpp | 6 | ||||
-rw-r--r-- | fpdfsdk/fpdfeditpage.cpp | 6 | ||||
-rw-r--r-- | fpdfsdk/fpdfppo.cpp | 10 |
4 files changed, 13 insertions, 12 deletions
diff --git a/fpdfsdk/formfiller/cba_fontmap.cpp b/fpdfsdk/formfiller/cba_fontmap.cpp index 2d962ad276..fd9304befc 100644 --- a/fpdfsdk/formfiller/cba_fontmap.cpp +++ b/fpdfsdk/formfiller/cba_fontmap.cpp @@ -184,8 +184,7 @@ void CBA_FontMap::AddFontToAnnotDict(CPDF_Font* pFont, } CPDF_Dictionary* pStreamResFontList = pStreamResList->GetDictFor("Font"); if (!pStreamResFontList) { - pStreamResFontList = m_pDocument->NewIndirect<CPDF_Dictionary>( - m_pDocument->GetByteStringPool()); + pStreamResFontList = m_pDocument->NewIndirect<CPDF_Dictionary>(); pStreamResList->SetReferenceFor("Font", m_pDocument, pStreamResFontList); } if (!pStreamResFontList->KeyExist(sAlias)) { diff --git a/fpdfsdk/fpdfdoc_unittest.cpp b/fpdfsdk/fpdfdoc_unittest.cpp index 50837d52e3..d049b4e757 100644 --- a/fpdfsdk/fpdfdoc_unittest.cpp +++ b/fpdfsdk/fpdfdoc_unittest.cpp @@ -129,7 +129,7 @@ TEST_F(PDFDocTest, FindBookmark) { bookmarks[2].obj->SetFor( "Prev", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); - bookmarks[0].obj->SetFor("Type", new CPDF_Name("Outlines")); + bookmarks[0].obj->SetFor("Type", new CPDF_Name(nullptr, "Outlines")); bookmarks[0].obj->SetFor("Count", new CPDF_Number(2)); bookmarks[0].obj->SetFor( "First", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); @@ -172,7 +172,7 @@ TEST_F(PDFDocTest, FindBookmark) { bookmarks[2].obj->SetFor( "First", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); - bookmarks[0].obj->SetFor("Type", new CPDF_Name("Outlines")); + bookmarks[0].obj->SetFor("Type", new CPDF_Name(nullptr, "Outlines")); bookmarks[0].obj->SetFor("Count", new CPDF_Number(2)); bookmarks[0].obj->SetFor( "First", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); @@ -213,7 +213,7 @@ TEST_F(PDFDocTest, FindBookmark) { bookmarks[3].obj->SetFor( "Next", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); - bookmarks[0].obj->SetFor("Type", new CPDF_Name("Outlines")); + bookmarks[0].obj->SetFor("Type", new CPDF_Name(nullptr, "Outlines")); bookmarks[0].obj->SetFor("Count", new CPDF_Number(2)); bookmarks[0].obj->SetFor( "First", new CPDF_Reference(m_pIndirectObjs, bookmarks[1].num)); diff --git a/fpdfsdk/fpdfeditpage.cpp b/fpdfsdk/fpdfeditpage.cpp index 9dc8ae9099..847adac7ec 100644 --- a/fpdfsdk/fpdfeditpage.cpp +++ b/fpdfsdk/fpdfeditpage.cpp @@ -83,8 +83,10 @@ DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_CreateNewDocument() { CPDF_Dictionary* pInfoDict = nullptr; pInfoDict = pDoc->GetInfo(); if (pInfoDict) { - if (FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) - pInfoDict->SetFor("CreationDate", new CPDF_String(DateStr, false)); + if (FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) { + pInfoDict->SetFor("CreationDate", + new CPDF_String(nullptr, DateStr, false)); + } pInfoDict->SetFor("Creator", new CPDF_String(L"PDFium")); } diff --git a/fpdfsdk/fpdfppo.cpp b/fpdfsdk/fpdfppo.cpp index ec3312b121..915de1ad07 100644 --- a/fpdfsdk/fpdfppo.cpp +++ b/fpdfsdk/fpdfppo.cpp @@ -160,24 +160,24 @@ bool CPDF_PageOrganizer::PDFDocInit() { CFX_ByteString producerstr; producerstr.Format("PDFium"); - pDocInfoDict->SetFor("Producer", new CPDF_String(producerstr, false)); + pDocInfoDict->SetFor("Producer", + new CPDF_String(nullptr, producerstr, false)); CFX_ByteString cbRootType = pNewRoot->GetStringFor("Type", ""); if (cbRootType.IsEmpty()) - pNewRoot->SetFor("Type", new CPDF_Name("Catalog")); + pNewRoot->SetFor("Type", new CPDF_Name(nullptr, "Catalog")); CPDF_Object* pElement = pNewRoot->GetObjectFor("Pages"); CPDF_Dictionary* pNewPages = pElement ? ToDictionary(pElement->GetDirect()) : nullptr; if (!pNewPages) { - pNewPages = m_pDestPDFDoc->NewIndirect<CPDF_Dictionary>( - m_pDestPDFDoc->GetByteStringPool()); + pNewPages = m_pDestPDFDoc->NewIndirect<CPDF_Dictionary>(); pNewRoot->SetReferenceFor("Pages", m_pDestPDFDoc, pNewPages); } CFX_ByteString cbPageType = pNewPages->GetStringFor("Type", ""); if (cbPageType.IsEmpty()) - pNewPages->SetFor("Type", new CPDF_Name("Pages")); + pNewPages->SetFor("Type", new CPDF_Name(nullptr, "Pages")); if (!pNewPages->GetArrayFor("Kids")) { pNewPages->SetIntegerFor("Count", 0); |