summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/cxfa_ffdoc.cpp18
-rw-r--r--xfa/fxfa/cxfa_ffdoc.h3
-rw-r--r--xfa/fxfa/parser/cxfa_dataexporter.cpp25
-rw-r--r--xfa/fxfa/parser/cxfa_dataexporter.h14
-rw-r--r--xfa/fxfa/parser/cxfa_simple_parser.cpp23
-rw-r--r--xfa/fxfa/parser/xfa_utils.cpp10
-rw-r--r--xfa/fxfa/parser/xfa_utils.h1
7 files changed, 17 insertions, 77 deletions
diff --git a/xfa/fxfa/cxfa_ffdoc.cpp b/xfa/fxfa/cxfa_ffdoc.cpp
index fd3a1234b0..655e58ff7f 100644
--- a/xfa/fxfa/cxfa_ffdoc.cpp
+++ b/xfa/fxfa/cxfa_ffdoc.cpp
@@ -14,7 +14,6 @@
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fpdfdoc/cpdf_nametree.h"
-#include "core/fxcrt/cfx_checksumcontext.h"
#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/cfx_seekablemultistream.h"
#include "core/fxcrt/fx_extension.h"
@@ -390,18 +389,11 @@ RetainPtr<CFX_DIBitmap> CXFA_FFDoc::GetPDFNamedImage(
}
bool CXFA_FFDoc::SavePackage(CXFA_Node* pNode,
- const RetainPtr<IFX_SeekableStream>& pFile,
- CFX_ChecksumContext* pCSContext) {
- auto pExport = pdfium::MakeUnique<CXFA_DataExporter>(GetXFADoc());
- if (!pNode)
- return !!pExport->Export(pFile);
-
- ByteString bsChecksum;
- if (pCSContext)
- bsChecksum = pCSContext->GetChecksum();
-
- return !!pExport->Export(
- pFile, pNode, 0, bsChecksum.GetLength() ? bsChecksum.c_str() : nullptr);
+ const RetainPtr<IFX_SeekableStream>& pFile) {
+ ASSERT(pNode || GetXFADoc()->GetRoot());
+
+ CXFA_DataExporter exporter;
+ return exporter.Export(pFile, pNode ? pNode : GetXFADoc()->GetRoot());
}
bool CXFA_FFDoc::ImportData(const RetainPtr<IFX_SeekableStream>& pStream,
diff --git a/xfa/fxfa/cxfa_ffdoc.h b/xfa/fxfa/cxfa_ffdoc.h
index 14bae5973a..2d9127c056 100644
--- a/xfa/fxfa/cxfa_ffdoc.h
+++ b/xfa/fxfa/cxfa_ffdoc.h
@@ -76,8 +76,7 @@ class CXFA_FFDoc {
CFGAS_PDFFontMgr* GetPDFFontMgr() const { return m_pPDFFontMgr.get(); }
bool SavePackage(CXFA_Node* pNode,
- const RetainPtr<IFX_SeekableStream>& pFile,
- CFX_ChecksumContext* pCSContext);
+ const RetainPtr<IFX_SeekableStream>& pFile);
bool ImportData(const RetainPtr<IFX_SeekableStream>& pStream,
bool bXDP = true);
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.cpp b/xfa/fxfa/parser/cxfa_dataexporter.cpp
index 4f10d0ddfe..7773aeb190 100644
--- a/xfa/fxfa/parser/cxfa_dataexporter.cpp
+++ b/xfa/fxfa/parser/cxfa_dataexporter.cpp
@@ -15,35 +15,24 @@
#include "xfa/fxfa/parser/cxfa_node.h"
#include "xfa/fxfa/parser/xfa_utils.h"
-CXFA_DataExporter::CXFA_DataExporter(CXFA_Document* pDocument)
- : m_pDocument(pDocument) {
- ASSERT(m_pDocument);
-}
-
-CXFA_DataExporter::~CXFA_DataExporter() {}
+CXFA_DataExporter::CXFA_DataExporter() = default;
-bool CXFA_DataExporter::Export(const RetainPtr<IFX_SeekableStream>& pWrite) {
- return Export(pWrite, m_pDocument->GetRoot(), 0, nullptr);
-}
+CXFA_DataExporter::~CXFA_DataExporter() = default;
bool CXFA_DataExporter::Export(const RetainPtr<IFX_SeekableStream>& pWrite,
- CXFA_Node* pNode,
- uint32_t dwFlag,
- const char* pChecksum) {
+ CXFA_Node* pNode) {
ASSERT(pWrite);
if (!pWrite)
return false;
auto pStream = pdfium::MakeRetain<CFX_SeekableStreamProxy>(pWrite, true);
pStream->SetCodePage(FX_CODEPAGE_UTF8);
- return Export(pStream, pNode, dwFlag, pChecksum);
+ return Export(pStream, pNode);
}
bool CXFA_DataExporter::Export(
const RetainPtr<CFX_SeekableStreamProxy>& pStream,
- CXFA_Node* pNode,
- uint32_t dwFlag,
- const char* pChecksum) {
+ CXFA_Node* pNode) {
if (pNode->IsModelNode()) {
switch (pNode->GetPacketType()) {
case XFA_PacketType::Xdp: {
@@ -51,7 +40,7 @@ bool CXFA_DataExporter::Export(
L"<xdp:xdp xmlns:xdp=\"http://ns.adobe.com/xdp/\">");
for (CXFA_Node* pChild = pNode->GetFirstChild(); pChild;
pChild = pChild->GetNextSibling()) {
- Export(pStream, pChild, dwFlag, pChecksum);
+ Export(pStream, pChild);
}
pStream->WriteString(L"</xdp:xdp\n>");
break;
@@ -69,7 +58,7 @@ bool CXFA_DataExporter::Export(
break;
}
case XFA_PacketType::Form: {
- XFA_DataExporter_RegenerateFormFile(pNode, pStream, pChecksum, false);
+ XFA_DataExporter_RegenerateFormFile(pNode, pStream, false);
break;
}
case XFA_PacketType::Template:
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.h b/xfa/fxfa/parser/cxfa_dataexporter.h
index a2a55b3c13..5e3b58fefb 100644
--- a/xfa/fxfa/parser/cxfa_dataexporter.h
+++ b/xfa/fxfa/parser/cxfa_dataexporter.h
@@ -17,22 +17,14 @@ class CFX_SeekableStreamProxy;
class CXFA_DataExporter {
public:
- explicit CXFA_DataExporter(CXFA_Document* pDocument);
+ CXFA_DataExporter();
~CXFA_DataExporter();
- bool Export(const RetainPtr<IFX_SeekableStream>& pWrite);
- bool Export(const RetainPtr<IFX_SeekableStream>& pWrite,
- CXFA_Node* pNode,
- uint32_t dwFlag,
- const char* pChecksum);
+ bool Export(const RetainPtr<IFX_SeekableStream>& pWrite, CXFA_Node* pNode);
private:
bool Export(const RetainPtr<CFX_SeekableStreamProxy>& pStream,
- CXFA_Node* pNode,
- uint32_t dwFlag,
- const char* pChecksum);
-
- UnownedPtr<CXFA_Document> const m_pDocument;
+ CXFA_Node* pNode);
};
#endif // XFA_FXFA_PARSER_CXFA_DATAEXPORTER_H_
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp
index 7021285dff..b916b4dfc4 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp
@@ -9,7 +9,6 @@
#include <utility>
#include <vector>
-#include "core/fxcrt/cfx_checksumcontext.h"
#include "core/fxcrt/cfx_seekablestreamproxy.h"
#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_codepage.h"
@@ -376,7 +375,6 @@ CFX_XMLNode* CXFA_SimpleParser::ParseXMLData(const ByteString& wsXML) {
auto pStream = pdfium::MakeRetain<CFX_SeekableStreamProxy>(
const_cast<uint8_t*>(wsXML.raw_str()), wsXML.GetLength());
m_pXMLDoc = pdfium::MakeUnique<CFX_XMLDoc>(pStream);
- m_pXMLDoc->GetParser()->m_dwCheckStatus = 0x03;
int32_t iRet = m_pXMLDoc->DoLoad();
if (iRet < 0 || iRet >= 100)
@@ -642,33 +640,12 @@ CXFA_Node* CXFA_SimpleParser::ParseAsXDPPacket_Form(
return nullptr;
}
- CFX_XMLElement* pXMLDocumentElement =
- static_cast<CFX_XMLElement*>(pXMLDocumentNode);
- WideString wsChecksum = pXMLDocumentElement->GetString(L"checksum");
- if (wsChecksum.GetLength() != 28 ||
- m_pXMLDoc->GetParser()->m_dwCheckStatus != 0x03) {
- return nullptr;
- }
-
- auto pChecksum = pdfium::MakeUnique<CFX_ChecksumContext>();
- pChecksum->StartChecksum();
- pChecksum->UpdateChecksum(m_pFileRead, m_pXMLDoc->GetParser()->m_nStart[0],
- m_pXMLDoc->GetParser()->m_nSize[0]);
- pChecksum->UpdateChecksum(m_pFileRead, m_pXMLDoc->GetParser()->m_nStart[1],
- m_pXMLDoc->GetParser()->m_nSize[1]);
- pChecksum->FinishChecksum();
- ByteString bsCheck = pChecksum->GetChecksum();
- if (bsCheck != wsChecksum.UTF8Encode())
- return nullptr;
-
CXFA_Node* pNode =
m_pFactory->CreateNode(XFA_PacketType::Form, XFA_Element::Form);
if (!pNode)
return nullptr;
pNode->JSObject()->SetCData(XFA_Attribute::Name, packet->name, false, false);
- pNode->JSObject()->SetAttribute(XFA_Attribute::Checksum,
- wsChecksum.AsStringView(), false);
CXFA_Template* pTemplateRoot =
m_pRootNode->GetFirstChildByClass<CXFA_Template>(XFA_Element::Template);
CXFA_Subform* pTemplateChosen =
diff --git a/xfa/fxfa/parser/xfa_utils.cpp b/xfa/fxfa/parser/xfa_utils.cpp
index 65be9625ba..7b4e4b1989 100644
--- a/xfa/fxfa/parser/xfa_utils.cpp
+++ b/xfa/fxfa/parser/xfa_utils.cpp
@@ -520,17 +520,9 @@ void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode) {
void XFA_DataExporter_RegenerateFormFile(
CXFA_Node* pNode,
const RetainPtr<CFX_SeekableStreamProxy>& pStream,
- const char* pChecksum,
bool bSaveXML) {
if (pNode->IsModelNode()) {
- pStream->WriteString(L"<form");
- if (pChecksum) {
- WideString wsChecksum = WideString::FromUTF8(pChecksum);
- pStream->WriteString(L" checksum=\"");
- pStream->WriteString(wsChecksum.AsStringView());
- pStream->WriteString(L"\"");
- }
- pStream->WriteString(L" xmlns=\"");
+ pStream->WriteString(L"<form xmlns=\"");
pStream->WriteString(WideStringView(kFormNS));
WideString wsVersionNumber = RecognizeXFAVersionNumber(
diff --git a/xfa/fxfa/parser/xfa_utils.h b/xfa/fxfa/parser/xfa_utils.h
index 3b59ac8b3a..d78b9ca57c 100644
--- a/xfa/fxfa/parser/xfa_utils.h
+++ b/xfa/fxfa/parser/xfa_utils.h
@@ -32,7 +32,6 @@ void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode);
void XFA_DataExporter_RegenerateFormFile(
CXFA_Node* pNode,
const RetainPtr<CFX_SeekableStreamProxy>& pStream,
- const char* pChecksum,
bool bSaveXML);
const XFA_SCRIPTATTRIBUTEINFO* XFA_GetScriptAttributeByName(