Index: xfa/fxfa/app/xfa_ffdoc.cpp |
diff --git a/xfa/fxfa/app/xfa_ffdoc.cpp b/xfa/fxfa/app/xfa_ffdoc.cpp |
index 4e69db4eea119962422c004785c19483a7326056..1aed9c640ea47a34f626d97f9a6d6b449a6cb848 100644 |
--- a/xfa/fxfa/app/xfa_ffdoc.cpp |
+++ b/xfa/fxfa/app/xfa_ffdoc.cpp |
@@ -235,60 +235,14 @@ void XFA_XPDPacket_MergeRootNode(CXFA_Node* pOriginRoot, CXFA_Node* pNewRoot) { |
} |
} |
} |
+ |
int32_t CXFA_FFDoc::DoLoad(IFX_Pause* pPause) { |
int32_t iStatus = m_pDocumentParser->DoParse(pPause); |
- if (iStatus == XFA_PARSESTATUS_Done && !m_pPDFDoc) { |
- CXFA_Node* pPDFNode = ToNode( |
- m_pDocumentParser->GetDocument()->GetXFAObject(XFA_HASHCODE_Pdf)); |
- if (!pPDFNode) { |
- return XFA_PARSESTATUS_SyntaxErr; |
- } |
- CFDE_XMLNode* pPDFXML = pPDFNode->GetXMLMappingNode(); |
- if (pPDFXML->GetType() != FDE_XMLNODE_Element) { |
- return XFA_PARSESTATUS_SyntaxErr; |
- } |
- int32_t iBufferSize = 0; |
- uint8_t* pByteBuffer = nullptr; |
- IFX_FileRead* pXFAReader = nullptr; |
- if (XFA_GetPDFContentsFromPDFXML(pPDFXML, pByteBuffer, iBufferSize)) { |
- pXFAReader = FX_CreateMemoryStream(pByteBuffer, iBufferSize, TRUE); |
- } else { |
- CFX_WideString wsHref; |
- static_cast<CFDE_XMLElement*>(pPDFXML)->GetString(L"href", wsHref); |
- if (!wsHref.IsEmpty()) { |
- pXFAReader = GetDocProvider()->OpenLinkedFile(this, wsHref); |
- } |
- } |
- if (!pXFAReader) |
- return XFA_PARSESTATUS_SyntaxErr; |
- |
- CPDF_Document* pPDFDocument = |
- GetDocProvider()->OpenPDF(this, pXFAReader, TRUE); |
- ASSERT(!m_pPDFDoc); |
- if (!OpenDoc(pPDFDocument)) |
- return XFA_PARSESTATUS_SyntaxErr; |
- |
- CXFA_Document* doc = m_pDocumentParser->GetDocument(); |
- std::unique_ptr<CXFA_SimpleParser> pParser( |
- new CXFA_SimpleParser(doc, true)); |
- if (!pParser) |
- return XFA_PARSESTATUS_SyntaxErr; |
- |
- CXFA_Node* pRootNode = nullptr; |
- if (pParser->StartParse(m_pStream, XFA_XDPPACKET_XDP) == |
- XFA_PARSESTATUS_Ready && |
- pParser->DoParse(nullptr) == XFA_PARSESTATUS_Done) { |
- pRootNode = pParser->GetRootNode(); |
- } |
- if (pRootNode && doc->GetRoot()) { |
- XFA_XPDPacket_MergeRootNode(doc->GetRoot(), pRootNode); |
- iStatus = XFA_PARSESTATUS_Done; |
- } else { |
- iStatus = XFA_PARSESTATUS_StatusErr; |
- } |
- } |
+ if (iStatus == XFA_PARSESTATUS_Done && !m_pPDFDoc) |
+ return XFA_PARSESTATUS_SyntaxErr; |
return iStatus; |
} |
+ |
void CXFA_FFDoc::StopLoad() { |
m_pApp->GetXFAFontMgr()->LoadDocFonts(this); |
m_dwDocType = XFA_DOCTYPE_Static; |