Convert CPDFSDK_InterForm to take a CPDFSDK_FormFillEnvironment
This CL removes CPDFSDK_Document from CPDFSDK_InterForm and has it work with
a CPDFSDK_FormFillEnvironment.
Review-Url: https://codereview.chromium.org/2397723005
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index fa2ac70..14e0692 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -295,9 +295,14 @@
std::vector<CPDFSDK_Widget*> widgets;
pInterForm->GetWidgets(pFormField, &widgets);
+ // TODO(dsinclair): Determine if all widgets share the same
+ // CPDFSDK_InterForm. If that's the case, we can move the code to
+ // |GetSDKDocument| out of the loop.
for (CPDFSDK_Widget* pWidget : widgets) {
- CPDFSDK_Document* pDoc = pWidget->GetInterForm()->GetDocument();
- pDoc->UpdateAllViews(nullptr, pWidget);
+ pWidget->GetInterForm()
+ ->GetFormFillEnv()
+ ->GetSDKDocument()
+ ->UpdateAllViews(nullptr, pWidget);
}
}
@@ -330,8 +335,8 @@
if (bRefresh) {
CPDFSDK_InterForm* pInterForm = pWidget->GetInterForm();
- CPDFSDK_Document* pDoc = pInterForm->GetDocument();
- pDoc->UpdateAllViews(nullptr, pWidget);
+ pInterForm->GetFormFillEnv()->GetSDKDocument()->UpdateAllViews(nullptr,
+ pWidget);
}
}