summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-07-25 17:26:28 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-25 17:26:28 +0000
commit1b54bc1474af7923f6b82496924978cb87844ff0 (patch)
tree440ee4b9cbfabd526815e2d57dd5af19063ee6fc /xfa
parent96b0d1332430e34219334373aeb0f6a85eb8ad68 (diff)
downloadpdfium-1b54bc1474af7923f6b82496924978cb87844ff0.tar.xz
Disable submit in XFA forms.
Bug: chromium:842503 Change-Id: If411815d8324929f482e3cad0fda54f24d370c2a Reviewed-on: https://pdfium-review.googlesource.com/37830 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/fxfa.h3
-rw-r--r--xfa/fxfa/parser/cxfa_event.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_event.h4
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp6
4 files changed, 15 insertions, 0 deletions
diff --git a/xfa/fxfa/fxfa.h b/xfa/fxfa/fxfa.h
index c1fdd2bcb7..6de20f0fbc 100644
--- a/xfa/fxfa/fxfa.h
+++ b/xfa/fxfa/fxfa.h
@@ -260,7 +260,10 @@ class IXFA_DocEnvironment {
uint32_t dwOptions) = 0;
virtual FX_ARGB GetHighlightColor(CXFA_FFDoc* hDoc) = 0;
+#ifdef PDF_XFA_ELEMENT_SUBMIT_ENABLED
virtual bool Submit(CXFA_FFDoc* hDoc, CXFA_Submit* submit) = 0;
+#endif // PDF_XFA_ELEMENT_SUBMIT_ENABLED
+
virtual bool GetPropertyFromNonXFAGlobalObject(
CXFA_FFDoc* hDoc,
const ByteStringView& szPropName,
diff --git a/xfa/fxfa/parser/cxfa_event.cpp b/xfa/fxfa/parser/cxfa_event.cpp
index 3dfa8b870e..8b4a0b56a2 100644
--- a/xfa/fxfa/parser/cxfa_event.cpp
+++ b/xfa/fxfa/parser/cxfa_event.cpp
@@ -73,6 +73,8 @@ CXFA_Script* CXFA_Event::GetScriptIfExists() {
return GetChild<CXFA_Script>(0, XFA_Element::Script, false);
}
+#ifdef PDF_XFA_ELEMENT_SUBMIT_ENABLED
CXFA_Submit* CXFA_Event::GetSubmitIfExists() {
return GetChild<CXFA_Submit>(0, XFA_Element::Submit, false);
}
+#endif // PDF_XFA_ELEMENT_SUBMIT_ENABLED
diff --git a/xfa/fxfa/parser/cxfa_event.h b/xfa/fxfa/parser/cxfa_event.h
index a410805675..6902b52eef 100644
--- a/xfa/fxfa/parser/cxfa_event.h
+++ b/xfa/fxfa/parser/cxfa_event.h
@@ -20,7 +20,11 @@ class CXFA_Event : public CXFA_Node {
XFA_AttributeEnum GetActivity();
XFA_Element GetEventType() const;
CXFA_Script* GetScriptIfExists();
+
+#ifdef PDF_XFA_ELEMENT_SUBMIT_ENABLED
CXFA_Submit* GetSubmitIfExists();
+#endif // PDF_XFA_ELEMENT_SUBMIT_ENABLED
+
WideString GetRef();
};
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 5f919b7b14..363af54028 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -2008,11 +2008,17 @@ int32_t CXFA_Node::ProcessEvent(CXFA_FFDocView* docView,
case XFA_Element::SignData:
break;
case XFA_Element::Submit: {
+// TODO(crbug.com/867485): Submit is disabled for now. Fix it and reenable this
+// code.
+#ifdef PDF_XFA_ELEMENT_SUBMIT_ENABLED
CXFA_Submit* submit = event->GetSubmitIfExists();
if (!submit)
return XFA_EVENTERROR_NotExist;
return docView->GetDoc()->GetDocEnvironment()->Submit(docView->GetDoc(),
submit);
+#else
+ return XFA_EVENTERROR_Disabled;
+#endif // PDF_XFA_ELEMENT_SUBMIT_ENABLED
}
default:
break;