Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: core/src/fpdfdoc/doc_utils.cpp

Issue 1540693002: Get rid of a few CPDF_Object Create() methods and just use new instead. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fpdfdoc/doc_formfield.cpp ('k') | fpdfsdk/src/fpdfeditpage.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/include/fpdfdoc/fpdf_doc.h" 7 #include "core/include/fpdfdoc/fpdf_doc.h"
8 #include "doc_utils.h" 8 #include "doc_utils.h"
9 9
10 static const int FPDFDOC_UTILS_MAXRECURSION = 32; 10 static const int FPDFDOC_UTILS_MAXRECURSION = 32;
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 tm.Set(f[0], f[1], f[2], f[3], f[4], f[5]); 222 tm.Set(f[0], f[1], f[2], f[3], f[4], f[5]);
223 } 223 }
224 return tm; 224 return tm;
225 } 225 }
226 void InitInterFormDict(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocument) { 226 void InitInterFormDict(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocument) {
227 if (!pDocument) { 227 if (!pDocument) {
228 return; 228 return;
229 } 229 }
230 if (!pFormDict) { 230 if (!pFormDict) {
231 pFormDict = CPDF_Dictionary::Create(); 231 pFormDict = new CPDF_Dictionary;
232 FX_DWORD dwObjNum = pDocument->AddIndirectObject(pFormDict); 232 FX_DWORD dwObjNum = pDocument->AddIndirectObject(pFormDict);
233 CPDF_Dictionary* pRoot = pDocument->GetRoot(); 233 CPDF_Dictionary* pRoot = pDocument->GetRoot();
234 pRoot->SetAtReference("AcroForm", pDocument, dwObjNum); 234 pRoot->SetAtReference("AcroForm", pDocument, dwObjNum);
235 } 235 }
236 CFX_ByteString csDA; 236 CFX_ByteString csDA;
237 if (!pFormDict->KeyExist("DR")) { 237 if (!pFormDict->KeyExist("DR")) {
238 CPDF_Font* pFont = NULL; 238 CPDF_Font* pFont = NULL;
239 CFX_ByteString csBaseName, csDefault; 239 CFX_ByteString csBaseName, csDefault;
240 uint8_t charSet = CPDF_InterForm::GetNativeCharSet(); 240 uint8_t charSet = CPDF_InterForm::GetNativeCharSet();
241 pFont = CPDF_InterForm::AddStandardFont(pDocument, "Helvetica"); 241 pFont = CPDF_InterForm::AddStandardFont(pDocument, "Helvetica");
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 CFX_ByteString csTag; 553 CFX_ByteString csTag;
554 if (FindInterFormFont(pFormDict, pFont, csTag)) { 554 if (FindInterFormFont(pFormDict, pFont, csTag)) {
555 csNameTag = csTag; 555 csNameTag = csTag;
556 return; 556 return;
557 } 557 }
558 if (!pFormDict) { 558 if (!pFormDict) {
559 InitInterFormDict(pFormDict, pDocument); 559 InitInterFormDict(pFormDict, pDocument);
560 } 560 }
561 CPDF_Dictionary* pDR = pFormDict->GetDict("DR"); 561 CPDF_Dictionary* pDR = pFormDict->GetDict("DR");
562 if (!pDR) { 562 if (!pDR) {
563 pDR = CPDF_Dictionary::Create(); 563 pDR = new CPDF_Dictionary;
564 pFormDict->SetAt("DR", pDR); 564 pFormDict->SetAt("DR", pDR);
565 } 565 }
566 CPDF_Dictionary* pFonts = pDR->GetDict("Font"); 566 CPDF_Dictionary* pFonts = pDR->GetDict("Font");
567 if (!pFonts) { 567 if (!pFonts) {
568 pFonts = CPDF_Dictionary::Create(); 568 pFonts = new CPDF_Dictionary;
569 pDR->SetAt("Font", pFonts); 569 pDR->SetAt("Font", pFonts);
570 } 570 }
571 if (csNameTag.IsEmpty()) { 571 if (csNameTag.IsEmpty()) {
572 csNameTag = pFont->GetBaseFont(); 572 csNameTag = pFont->GetBaseFont();
573 } 573 }
574 csNameTag.Remove(' '); 574 csNameTag.Remove(' ');
575 csNameTag = 575 csNameTag =
576 CPDF_InterForm::GenerateNewResourceName(pDR, "Font", 4, csNameTag); 576 CPDF_InterForm::GenerateNewResourceName(pDR, "Font", 4, csNameTag);
577 pFonts->SetAtReference(csNameTag, pDocument, pFont->GetFontDict()); 577 pFonts->SetAtReference(csNameTag, pDocument, pFont->GetFontDict());
578 } 578 }
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 CPDF_Object* pAttr = pFieldDict->GetElementValue(name); 712 CPDF_Object* pAttr = pFieldDict->GetElementValue(name);
713 if (pAttr) { 713 if (pAttr) {
714 return pAttr; 714 return pAttr;
715 } 715 }
716 CPDF_Dictionary* pParent = pFieldDict->GetDict("Parent"); 716 CPDF_Dictionary* pParent = pFieldDict->GetDict("Parent");
717 if (!pParent) { 717 if (!pParent) {
718 return NULL; 718 return NULL;
719 } 719 }
720 return FPDF_GetFieldAttr(pParent, name, nLevel + 1); 720 return FPDF_GetFieldAttr(pParent, name, nLevel + 1);
721 } 721 }
OLDNEW
« no previous file with comments | « core/src/fpdfdoc/doc_formfield.cpp ('k') | fpdfsdk/src/fpdfeditpage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698