Add FPDFFormObj_CountObjects() API

To find out the number of sub-objects a form object has, similar to how
FPDFPage_CountObjects() does it for page objects.

Change-Id: I7e5775dece42b74fd5b71b1d9622a1aa37bf64ac
Reviewed-on: https://pdfium-review.googlesource.com/37316
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 8a12008..4151de5 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -751,3 +751,24 @@
   pPageObj->SetDirty(true);
   return true;
 }
+
+FPDF_EXPORT int FPDF_CALLCONV
+FPDFFormObj_CountObjects(FPDF_PAGEOBJECT page_object) {
+  auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
+  if (!pPageObj)
+    return -1;
+
+  CPDF_FormObject* pFormObject = pPageObj->AsForm();
+  if (!pFormObject)
+    return -1;
+
+  const CPDF_Form* pForm = pFormObject->form();
+  if (!pForm)
+    return -1;
+
+  const CPDF_PageObjectList* pObjectList = pForm->GetPageObjectList();
+  if (!pObjectList)
+    return -1;
+
+  return pObjectList->size();
+}