Layering improvement between CPDFSDK and CFFL.

Instead of storing the CPDFDSK_FormFillEnvironment from a higher layer
in each CFFL_FormField, store the CFFL_InteractiveFormFiller from this
layer through which we can funnel all calls upwards.

Then collect all of these upwards calls into a callback pure
virtual interface, tidying a few parameters along the way.

Change-Id: Ibebb42057be65e770b7ac89812e12cde1a519a8b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/84933
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_pageview.h b/fpdfsdk/cpdfsdk_pageview.h
index 0ec9e3e..10df234 100644
--- a/fpdfsdk/cpdfsdk_pageview.h
+++ b/fpdfsdk/cpdfsdk_pageview.h
@@ -23,6 +23,7 @@
 class CPDF_AnnotList;
 class CPDF_RenderOptions;
 class CPDFSDK_FormFillEnvironment;
+class CPDFSDK_InteractiveForm;
 
 class CPDFSDK_PageView final : public CPDF_Page::View {
  public:
@@ -53,6 +54,7 @@
 
   CPDF_Page* GetPDFPage() const;
   CPDF_Document* GetPDFDocument();
+  CPDFSDK_InteractiveForm* GetInteractiveForm() const;
   CPDFSDK_FormFillEnvironment* GetFormFillEnv() const {
     return m_pFormFillEnv.Get();
   }