Revert "Revert "Add type cast definitions for CPDF_Dictionary.""
[pdfium.git] / fpdfsdk / src / fpdf_ext.cpp
index e95a2f0..c0391df 100644 (file)
@@ -88,7 +88,7 @@ void CheckUnSupportAnnot(CPDF_Document* pDoc, CPDF_Annot* pPDFAnnot) {
   }
 }
 
-FX_BOOL CheckSharedForm(CXML_Element* pElement, CFX_ByteString cbName) {
+FX_BOOL CheckSharedForm(const CXML_Element* pElement, CFX_ByteString cbName) {
   int count = pElement->CountAttrs();
   int i = 0;
   for (i = 0; i < count; i++) {
@@ -169,9 +169,8 @@ void CheckUnSupportError(CPDF_Document* pDoc, FX_DWORD err_code) {
   }
 
   // SharedForm
-  CPDF_Metadata metaData;
-  metaData.LoadDoc(pDoc);
-  CXML_Element* pElement = metaData.GetRoot();
+  CPDF_Metadata metaData(pDoc);
+  const CXML_Element* pElement = metaData.GetRoot();
   if (pElement)
     CheckSharedForm(pElement, "workflowType");
 
@@ -184,10 +183,11 @@ void CheckUnSupportError(CPDF_Document* pDoc, FX_DWORD err_code) {
 }
 
 DLLEXPORT int FPDFDoc_GetPageMode(FPDF_DOCUMENT document) {
-  if (!document)
+  CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document);
+  if (!pDoc)
     return PAGEMODE_UNKNOWN;
 
-  CPDF_Dictionary* pRoot = ((CPDF_Document*)document)->GetRoot();
+  CPDF_Dictionary* pRoot = pDoc->GetRoot();
   if (!pRoot)
     return PAGEMODE_UNKNOWN;