Chromium Code Reviews| 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); |
|
dsinclair
2016/09/07 21:20:55
OpenPDF always returns nullptr. So, OpenDoc() will
|
| - 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; |