summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r--xfa/fxfa/parser/cxfa_dataimporter.cpp5
-rw-r--r--xfa/fxfa/parser/cxfa_document_parser.cpp19
-rw-r--r--xfa/fxfa/parser/cxfa_document_parser.h5
-rw-r--r--xfa/fxfa/parser/cxfa_simple_parser.cpp6
-rw-r--r--xfa/fxfa/parser/cxfa_simple_parser.h4
5 files changed, 14 insertions, 25 deletions
diff --git a/xfa/fxfa/parser/cxfa_dataimporter.cpp b/xfa/fxfa/parser/cxfa_dataimporter.cpp
index 7c6e0ec12d..c5c23fcfb9 100644
--- a/xfa/fxfa/parser/cxfa_dataimporter.cpp
+++ b/xfa/fxfa/parser/cxfa_dataimporter.cpp
@@ -28,10 +28,7 @@ bool CXFA_DataImporter::ImportData(
const RetainPtr<IFX_SeekableStream>& pDataDocument) {
auto pDataDocumentParser =
pdfium::MakeUnique<CXFA_SimpleParser>(m_pDocument.Get());
- if (pDataDocumentParser->StartParse(
- pDataDocument, XFA_PacketType::Datasets) != XFA_PARSESTATUS_Ready) {
- return false;
- }
+ pDataDocumentParser->StartParse(pDataDocument, XFA_PacketType::Datasets);
if (pDataDocumentParser->DoParse() < XFA_PARSESTATUS_Done)
return false;
diff --git a/xfa/fxfa/parser/cxfa_document_parser.cpp b/xfa/fxfa/parser/cxfa_document_parser.cpp
index 3e4aa58dd9..8df91bc1cc 100644
--- a/xfa/fxfa/parser/cxfa_document_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_document_parser.cpp
@@ -18,23 +18,18 @@ CXFA_DocumentParser::~CXFA_DocumentParser() {
m_pDocument->ReleaseXMLNodesIfNeeded();
}
-int32_t CXFA_DocumentParser::StartParse(
- const RetainPtr<IFX_SeekableStream>& pStream,
- XFA_PacketType ePacketID) {
+int32_t CXFA_DocumentParser::Parse(const RetainPtr<IFX_SeekableStream>& pStream,
+ XFA_PacketType ePacketID) {
m_pDocument.reset();
m_nodeParser.CloseParser();
- int32_t nRetStatus = m_nodeParser.StartParse(pStream, ePacketID);
- if (nRetStatus == XFA_PARSESTATUS_Ready) {
- m_pDocument = pdfium::MakeUnique<CXFA_Document>(GetNotify());
- m_nodeParser.SetFactory(m_pDocument.get());
- }
- return nRetStatus;
-}
+ m_nodeParser.StartParse(pStream, ePacketID);
+
+ m_pDocument = pdfium::MakeUnique<CXFA_Document>(GetNotify());
+ m_nodeParser.SetFactory(m_pDocument.get());
-int32_t CXFA_DocumentParser::DoParse() {
int32_t nRetStatus = m_nodeParser.DoParse();
- if (nRetStatus >= XFA_PARSESTATUS_Done) {
+ if (nRetStatus == XFA_PARSESTATUS_Done) {
ASSERT(m_pDocument);
m_pDocument->SetRoot(m_nodeParser.GetRootNode());
}
diff --git a/xfa/fxfa/parser/cxfa_document_parser.h b/xfa/fxfa/parser/cxfa_document_parser.h
index 77265e4d05..c7056c215a 100644
--- a/xfa/fxfa/parser/cxfa_document_parser.h
+++ b/xfa/fxfa/parser/cxfa_document_parser.h
@@ -22,9 +22,8 @@ class CXFA_DocumentParser {
explicit CXFA_DocumentParser(CXFA_FFNotify* pNotify);
~CXFA_DocumentParser();
- int32_t StartParse(const RetainPtr<IFX_SeekableStream>& pStream,
- XFA_PacketType ePacketID);
- int32_t DoParse();
+ int32_t Parse(const RetainPtr<IFX_SeekableStream>& pStream,
+ XFA_PacketType ePacketID);
CXFA_FFNotify* GetNotify() const;
CXFA_Document* GetDocument() const;
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp
index de9f74f291..a59ea9d951 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp
@@ -339,9 +339,8 @@ void CXFA_SimpleParser::SetFactory(CXFA_Document* pFactory) {
m_pFactory = pFactory;
}
-int32_t CXFA_SimpleParser::StartParse(
- const RetainPtr<IFX_SeekableStream>& pStream,
- XFA_PacketType ePacketID) {
+void CXFA_SimpleParser::StartParse(const RetainPtr<IFX_SeekableStream>& pStream,
+ XFA_PacketType ePacketID) {
CloseParser();
m_pFileRead = pStream;
m_pStream = pdfium::MakeRetain<CFX_SeekableStreamProxy>(pStream, false);
@@ -355,7 +354,6 @@ int32_t CXFA_SimpleParser::StartParse(
m_bParseStarted = true;
m_ePacketID = ePacketID;
- return XFA_PARSESTATUS_Ready;
}
int32_t CXFA_SimpleParser::DoParse() {
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.h b/xfa/fxfa/parser/cxfa_simple_parser.h
index 1300a8c4f2..c5c3eade87 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.h
+++ b/xfa/fxfa/parser/cxfa_simple_parser.h
@@ -25,8 +25,8 @@ class CXFA_SimpleParser {
explicit CXFA_SimpleParser(CXFA_Document* pFactory);
~CXFA_SimpleParser();
- int32_t StartParse(const RetainPtr<IFX_SeekableStream>& pStream,
- XFA_PacketType ePacketID);
+ void StartParse(const RetainPtr<IFX_SeekableStream>& pStream,
+ XFA_PacketType ePacketID);
int32_t DoParse();
CFX_XMLNode* ParseXMLData(const ByteString& wsXML);
void ConstructXFANode(CXFA_Node* pXFANode, CFX_XMLNode* pXMLNode);