summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-11-16 17:31:18 -0800
committerCommit bot <commit-bot@chromium.org>2016-11-16 17:31:18 -0800
commit5913a6ca71c85401e3f5317758d44a9fc4a667b2 (patch)
tree388ad0bd98b44a47c251568e198e2c3c231c7d30 /fpdfsdk
parentcc4d0a44f3025821f88f3ed1ee78dfdc416487c7 (diff)
downloadpdfium-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.cpp3
-rw-r--r--fpdfsdk/fpdfdoc_unittest.cpp6
-rw-r--r--fpdfsdk/fpdfeditpage.cpp6
-rw-r--r--fpdfsdk/fpdfppo.cpp10
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);