From a74a6277a0913a674719da3134efd877a5e8d091 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Mon, 16 Oct 2017 10:57:48 -0400 Subject: Move HasXFAField out from XFA feature flag Moves the PDFium API method FPDF_HasXFAField out from behind the XFA feature flag so that XFA metrics can be generated without enabling the entire feature. Changes some of the constant names to be more accurate. BUG=pdfium:917 Change-Id: I6d8fe9fd88d392d028de2504d39d978de4a1d5b7 Reviewed-on: https://pdfium-review.googlesource.com/15990 Reviewed-by: Henrique Nakashima Commit-Queue: Ryan Harrison --- fpdfsdk/fpdfview.cpp | 7 +++---- fpdfsdk/fpdfview_c_api_test.c | 2 +- public/fpdf_formfill.h | 8 +++----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp index af1d0db1af..47a92f1bca 100644 --- a/fpdfsdk/fpdfview.cpp +++ b/fpdfsdk/fpdfview.cpp @@ -39,6 +39,7 @@ #include "fpdfsdk/javascript/ijs_runtime.h" #include "public/fpdf_edit.h" #include "public/fpdf_ext.h" +#include "public/fpdf_formfill.h" #include "public/fpdf_progressive.h" #include "third_party/base/allocator/partition_allocator/partition_alloc.h" #include "third_party/base/numerics/safe_conversions_impl.h" @@ -49,7 +50,6 @@ #include "fpdfsdk/fpdfxfa/cpdfxfa_page.h" #include "fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h" #include "fxbarcode/BC_Library.h" -#include "public/fpdf_formfill.h" #endif // PDF_ENABLE_XFA #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ @@ -565,14 +565,12 @@ FPDF_LoadDocument(FPDF_STRING file_path, FPDF_BYTESTRING password) { password); } -#ifdef PDF_ENABLE_XFA FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_HasXFAField(FPDF_DOCUMENT document, int* docType) { if (!document) return false; - const CPDF_Document* pDoc = - static_cast(document)->GetPDFDoc(); + const CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document); if (!pDoc) return false; @@ -593,6 +591,7 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_HasXFAField(FPDF_DOCUMENT document, return true; } +#ifdef PDF_ENABLE_XFA FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_LoadXFA(FPDF_DOCUMENT document) { return document && static_cast(document)->LoadXFADoc(); } diff --git a/fpdfsdk/fpdfview_c_api_test.c b/fpdfsdk/fpdfview_c_api_test.c index 996f48af16..211d7e0f6b 100644 --- a/fpdfsdk/fpdfview_c_api_test.c +++ b/fpdfsdk/fpdfview_c_api_test.c @@ -206,8 +206,8 @@ int CheckPDFiumCApi() { CHK(FPDF_SetFormFieldHighlightAlpha); CHK(FPDF_RemoveFormFieldHighlight); CHK(FPDF_FFLDraw); -#ifdef PDF_ENABLE_XFA CHK(FPDF_HasXFAField); +#ifdef PDF_ENABLE_XFA CHK(FPDF_LoadXFA); CHK(FPDF_Widget_Undo); CHK(FPDF_Widget_Redo); diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h index bf385b3539..e4194fed8e 100644 --- a/public/fpdf_formfill.h +++ b/public/fpdf_formfill.h @@ -12,11 +12,9 @@ typedef void* FPDF_FORMHANDLE; -#ifdef PDF_ENABLE_XFA #define DOCTYPE_PDF 0 // Normal pdf Document -#define DOCTYPE_DYNAMIC_XFA 1 // Dynamic xfa Document Type -#define DOCTYPE_STATIC_XFA 2 // Static xfa Document Type -#endif // PDF_ENABLE_XFA +#define DOCTYPE_DYNAMIC_XFA 1 // Dynamic XFA Document Type +#define DOCTYPE_STATIC_XFA 2 // Static XFA Document Type // Exported Functions #ifdef __cplusplus @@ -1607,7 +1605,6 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLRecord(FPDF_FORMHANDLE hHandle, int flags); #endif -#ifdef PDF_ENABLE_XFA /** * Function: FPDF_HasXFAField * This method is designed to check whether a pdf document @@ -1624,6 +1621,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_FFLRecord(FPDF_FORMHANDLE hHandle, FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_HasXFAField(FPDF_DOCUMENT document, int* docType); +#ifdef PDF_ENABLE_XFA /** * Function: FPDF_LoadXFA * If the document consists of XFA fields, there should call this -- cgit v1.2.3