diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-07-25 17:26:28 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-25 17:26:28 +0000 |
commit | 1b54bc1474af7923f6b82496924978cb87844ff0 (patch) | |
tree | 440ee4b9cbfabd526815e2d57dd5af19063ee6fc /xfa/fxfa | |
parent | 96b0d1332430e34219334373aeb0f6a85eb8ad68 (diff) | |
download | pdfium-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/fxfa')
-rw-r--r-- | xfa/fxfa/fxfa.h | 3 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_event.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_event.h | 4 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 6 |
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; |