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

Unified Diff: core/src/fpdfdoc/doc_utils.cpp

Issue 1410343003: [Merge to XFA] Revert "Revert "Add type cast definitions for CPDF_Dictionary."" (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Rebase to origin/xfa Created 5 years, 2 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/src/fpdfdoc/doc_tagged.cpp ('k') | core/src/fpdftext/fpdf_text_int.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/src/fpdfdoc/doc_utils.cpp
diff --git a/core/src/fpdfdoc/doc_utils.cpp b/core/src/fpdfdoc/doc_utils.cpp
index 1ed0017078ee399a4cd03a347400ef237533d073..7d3fdf2f230b9501fc5d21fb91061d2db7aba883 100644
--- a/core/src/fpdfdoc/doc_utils.cpp
+++ b/core/src/fpdfdoc/doc_utils.cpp
@@ -290,9 +290,8 @@ FX_DWORD CountInterFormFonts(CPDF_Dictionary* pFormDict) {
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect != NULL && pDirect->GetType() == PDFOBJ_DICTIONARY) {
- if (((CPDF_Dictionary*)pDirect)->GetString("Type") == "Font") {
+ if (CPDF_Dictionary* pDirect = ToDictionary(pObj->GetDirect())) {
+ if (pDirect->GetString("Type") == "Font") {
dwCount++;
}
}
@@ -323,14 +322,11 @@ CPDF_Font* GetInterFormFont(CPDF_Dictionary* pFormDict,
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect == NULL || pDirect->GetType() != PDFOBJ_DICTIONARY) {
+ CPDF_Dictionary* pElement = ToDictionary(pObj->GetDirect());
+ if (!pElement)
continue;
- }
- CPDF_Dictionary* pElement = (CPDF_Dictionary*)pDirect;
- if (pElement->GetString("Type") != "Font") {
+ if (pElement->GetString("Type") != "Font")
continue;
- }
if (dwCount == index) {
csNameTag = csKey;
return pDocument->LoadFont(pElement);
@@ -386,18 +382,16 @@ CPDF_Font* GetInterFormFont(CPDF_Dictionary* pFormDict,
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect == NULL || pDirect->GetType() != PDFOBJ_DICTIONARY) {
+ CPDF_Dictionary* pElement = ToDictionary(pObj->GetDirect());
+ if (!pElement)
continue;
- }
- CPDF_Dictionary* pElement = (CPDF_Dictionary*)pDirect;
- if (pElement->GetString("Type") != "Font") {
+ if (pElement->GetString("Type") != "Font")
continue;
- }
+
CPDF_Font* pFind = pDocument->LoadFont(pElement);
- if (pFind == NULL) {
+ if (!pFind)
continue;
- }
+
CFX_ByteString csBaseFont;
csBaseFont = pFind->GetBaseFont();
csBaseFont.Remove(' ');
@@ -431,14 +425,11 @@ CPDF_Font* GetNativeInterFormFont(CPDF_Dictionary* pFormDict,
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect == NULL || pDirect->GetType() != PDFOBJ_DICTIONARY) {
+ CPDF_Dictionary* pElement = ToDictionary(pObj->GetDirect());
+ if (!pElement)
continue;
- }
- CPDF_Dictionary* pElement = (CPDF_Dictionary*)pDirect;
- if (pElement->GetString("Type") != "Font") {
+ if (pElement->GetString("Type") != "Font")
continue;
- }
CPDF_Font* pFind = pDocument->LoadFont(pElement);
if (pFind == NULL) {
continue;
@@ -492,11 +483,9 @@ FX_BOOL FindInterFormFont(CPDF_Dictionary* pFormDict,
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect == NULL || pDirect->GetType() != PDFOBJ_DICTIONARY) {
+ CPDF_Dictionary* pElement = ToDictionary(pObj->GetDirect());
+ if (!pElement)
continue;
- }
- CPDF_Dictionary* pElement = (CPDF_Dictionary*)pDirect;
if (pElement->GetString("Type") != "Font") {
continue;
}
@@ -534,11 +523,9 @@ FX_BOOL FindInterFormFont(CPDF_Dictionary* pFormDict,
if (pObj == NULL) {
continue;
}
- CPDF_Object* pDirect = pObj->GetDirect();
- if (pDirect == NULL || pDirect->GetType() != PDFOBJ_DICTIONARY) {
+ CPDF_Dictionary* pElement = ToDictionary(pObj->GetDirect());
+ if (!pElement)
continue;
- }
- CPDF_Dictionary* pElement = (CPDF_Dictionary*)pDirect;
if (pElement->GetString("Type") != "Font") {
continue;
}
« no previous file with comments | « core/src/fpdfdoc/doc_tagged.cpp ('k') | core/src/fpdftext/fpdf_text_int.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698