Merge to XFA: Remove unneeded checks in CPDF_DocPageData::GetFontFileStreamAcc().
authorLei Zhang <thestig@chromium.org>
Sat, 13 Jun 2015 08:01:06 +0000 (01:01 -0700)
committerLei Zhang <thestig@chromium.org>
Sat, 13 Jun 2015 08:01:06 +0000 (01:01 -0700)
The input cannot be null. Same for CPDF_Document::LoadFontFile().

Also set the contract for CPDF_Document::LoadFont() and adjust callers
accordingly.

Also remove unused CPDF_Document::FindFont().

R=tsepez@chromium.org

Review URL: https://codereview.chromium.org/1184673002.

(cherry picked from commit 1972b16849fedfda675eacd5c8594b54dbd1264d)

Review URL: https://codereview.chromium.org/1181393002.

core/include/fpdfapi/fpdf_parser.h
core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp
core/src/fpdfdoc/doc_formcontrol.cpp
fpdfsdk/src/formfiller/FFL_CBA_Fontmap.cpp

index 0a08df8..a5020eb 100644 (file)
@@ -114,12 +114,8 @@ public:
 
     FX_BOOL                                    IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const;
 
-
-
-
-    CPDF_Font*                         LoadFont(CPDF_Dictionary* pFontDict);
-
-    CPDF_Font*                         FindFont(CPDF_Dictionary* pFontDict);
+    // |pFontDict| must not be null.
+    CPDF_Font* LoadFont(CPDF_Dictionary* pFontDict);
 
     CPDF_ColorSpace*           LoadColorSpace(CPDF_Object* pCSObj, CPDF_Dictionary* pResources = NULL);
 
index 7ccf948..ab945c5 100644 (file)
@@ -75,27 +75,18 @@ void CPDF_PageModule::NotifyCJKAvailable()
 {
     m_FontGlobals.m_CMapManager.ReloadAll();
 }
+
 CPDF_Font* CPDF_Document::LoadFont(CPDF_Dictionary* pFontDict)
 {
-    if (!pFontDict) {
-        return NULL;
-    }
+    ASSERT(pFontDict);
     return GetValidatePageData()->GetFont(pFontDict, FALSE);
 }
-CPDF_Font* CPDF_Document::FindFont(CPDF_Dictionary* pFontDict)
-{
-    if (!pFontDict) {
-        return NULL;
-    }
-    return GetValidatePageData()->GetFont(pFontDict, TRUE);
-}
+
 CPDF_StreamAcc* CPDF_Document::LoadFontFile(CPDF_Stream* pStream)
 {
-    if (pStream == NULL) {
-        return NULL;
-    }
     return GetValidatePageData()->GetFontFileStreamAcc(pStream);
 }
+
 CPDF_ColorSpace* _CSFromName(const CFX_ByteString& name);
 CPDF_ColorSpace* CPDF_Document::LoadColorSpace(CPDF_Object* pCSObj, CPDF_Dictionary* pResources)
 {
@@ -599,8 +590,7 @@ void CPDF_DocPageData::ReleaseIccProfile(CPDF_IccProfile* pIccProfile)
 
 CPDF_StreamAcc* CPDF_DocPageData::GetFontFileStreamAcc(CPDF_Stream* pFontStream)
 {
-    if (!pFontStream)
-        return nullptr;
+    ASSERT(pFontStream);
 
     auto it = m_FontFileMap.find(pFontStream);
     if (it != m_FontFileMap.end()) {
index bedd301..7fa17b8 100644 (file)
@@ -286,44 +286,51 @@ CPDF_DefaultAppearance CPDF_FormControl::GetDefaultAppearance()
         return pObj->GetString();
     }
 }
+
 CPDF_Font* CPDF_FormControl::GetDefaultControlFont()
 {
     CPDF_DefaultAppearance cDA = GetDefaultAppearance();
     CFX_ByteString csFontNameTag;
     FX_FLOAT fFontSize;
     cDA.GetFont(csFontNameTag, fFontSize);
-    if (csFontNameTag.IsEmpty()) {
-        return NULL;
-    }
+    if (csFontNameTag.IsEmpty())
+        return nullptr;
+
     CPDF_Object* pObj = FPDF_GetFieldAttr(m_pWidgetDict, "DR");
-    if (pObj != NULL && pObj->GetType() == PDFOBJ_DICTIONARY) {
+    if (pObj && pObj->GetType() == PDFOBJ_DICTIONARY) {
         CPDF_Dictionary* pFonts = ((CPDF_Dictionary*)pObj)->GetDict("Font");
-        if (pFonts != NULL) {
-            CPDF_Dictionary *pElement = pFonts->GetDict(csFontNameTag);
-            CPDF_Font *pFont = m_pField->m_pForm->m_pDocument->LoadFont(pElement);
-            if (pFont != NULL) {
-                return pFont;
+        if (pFonts) {
+            CPDF_Dictionary* pElement = pFonts->GetDict(csFontNameTag);
+            if (pElement) {
+                CPDF_Font* pFont =
+                    m_pField->m_pForm->m_pDocument->LoadFont(pElement);
+                if (pFont) {
+                    return pFont;
+                }
             }
         }
     }
-    CPDF_Font *pFont = m_pField->m_pForm->GetFormFont(csFontNameTag);
-    if (pFont != NULL) {
-        return pFont;
-    }
+    if (CPDF_Font* pFormFont = m_pField->m_pForm->GetFormFont(csFontNameTag))
+      return pFormFont;
+
     CPDF_Dictionary *pPageDict = m_pWidgetDict->GetDict("P");
     pObj = FPDF_GetFieldAttr(pPageDict, "Resources");
-    if (pObj != NULL && pObj->GetType() == PDFOBJ_DICTIONARY) {
+    if (pObj && pObj->GetType() == PDFOBJ_DICTIONARY) {
         CPDF_Dictionary* pFonts = ((CPDF_Dictionary*)pObj)->GetDict("Font");
-        if (pFonts != NULL) {
-            CPDF_Dictionary *pElement = pFonts->GetDict(csFontNameTag);
-            CPDF_Font *pFont = m_pField->m_pForm->m_pDocument->LoadFont(pElement);
-            if (pFont != NULL) {
-                return pFont;
+        if (pFonts) {
+            CPDF_Dictionary* pElement = pFonts->GetDict(csFontNameTag);
+            if (pElement) {
+                CPDF_Font* pFont =
+                    m_pField->m_pForm->m_pDocument->LoadFont(pElement);
+                if (pFont) {
+                    return pFont;
+                }
             }
         }
     }
-    return NULL;
+    return nullptr;
 }
+
 int CPDF_FormControl::GetControlAlignment()
 {
     if (m_pWidgetDict == NULL) {
index f4eb74b..53efe9f 100644 (file)
@@ -286,10 +286,7 @@ CPDF_Font* CBA_FontMap::GetAnnotDefaultFont(CFX_ByteString &sAlias)
                }
        }
 
-       if (pFontDict)
-               return m_pDocument->LoadFont(pFontDict);
-       else
-               return NULL;
+    return pFontDict ? m_pDocument->LoadFont(pFontDict) : nullptr;
 }
 
 void CBA_FontMap::SetAPType(const CFX_ByteString& sAPType)