Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: xfa/src/fxfa/src/parser/xfa_document_serialize.cpp

Issue 1668003003: Call CXFA_Object::ToNode() rather than C-style casting. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/src/foxitlib.h" 7 #include "xfa/src/foxitlib.h"
8 #include "xfa/src/fxfa/src/common/xfa_utils.h" 8 #include "xfa/src/fxfa/src/common/xfa_utils.h"
9 #include "xfa/src/fxfa/src/common/xfa_object.h" 9 #include "xfa/src/fxfa/src/common/xfa_object.h"
10 #include "xfa/src/fxfa/src/common/xfa_document.h" 10 #include "xfa/src/fxfa/src/common/xfa_document.h"
(...skipping 24 matching lines...) Expand all
35 if (pDataDocumentParser->DoParse(NULL) < XFA_PARSESTATUS_Done) { 35 if (pDataDocumentParser->DoParse(NULL) < XFA_PARSESTATUS_Done) {
36 pDataDocumentParser->Release(); 36 pDataDocumentParser->Release();
37 return FALSE; 37 return FALSE;
38 } 38 }
39 CXFA_Node* pImportDataRoot = pDataDocumentParser->GetRootNode(); 39 CXFA_Node* pImportDataRoot = pDataDocumentParser->GetRootNode();
40 if (!pImportDataRoot) { 40 if (!pImportDataRoot) {
41 pDataDocumentParser->Release(); 41 pDataDocumentParser->Release();
42 return FALSE; 42 return FALSE;
43 } 43 }
44 CXFA_Node* pDataModel = 44 CXFA_Node* pDataModel =
45 (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets); 45 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets));
46 if (!pDataModel) { 46 if (!pDataModel) {
47 pDataDocumentParser->Release(); 47 pDataDocumentParser->Release();
48 return FALSE; 48 return FALSE;
49 } 49 }
50 CXFA_Node* pDataNode = 50 CXFA_Node* pDataNode = ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Data));
51 (CXFA_Node*)m_pDocument->GetXFAObject(XFA_HASHCODE_Data);
52 if (pDataNode) { 51 if (pDataNode) {
53 pDataModel->RemoveChild(pDataNode); 52 pDataModel->RemoveChild(pDataNode);
54 } 53 }
55 if (pImportDataRoot->GetClassID() == XFA_ELEMENT_DataModel) { 54 if (pImportDataRoot->GetClassID() == XFA_ELEMENT_DataModel) {
56 while (CXFA_Node* pChildNode = 55 while (CXFA_Node* pChildNode =
57 pImportDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild)) { 56 pImportDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild)) {
58 pImportDataRoot->RemoveChild(pChildNode); 57 pImportDataRoot->RemoveChild(pChildNode);
59 pDataModel->InsertChild(pChildNode); 58 pDataModel->InsertChild(pChildNode);
60 } 59 }
61 } else { 60 } else {
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 CFX_WideString::FromUTF8(pChecksum, FXSYS_strlen(pChecksum)); 437 CFX_WideString::FromUTF8(pChecksum, FXSYS_strlen(pChecksum));
439 pStream->WriteString(s_pwChecksum, FXSYS_wcslen(s_pwChecksum)); 438 pStream->WriteString(s_pwChecksum, FXSYS_wcslen(s_pwChecksum));
440 pStream->WriteString((const FX_WCHAR*)wsChecksum, wsChecksum.GetLength()); 439 pStream->WriteString((const FX_WCHAR*)wsChecksum, wsChecksum.GetLength());
441 pStream->WriteString(L"\"", 1); 440 pStream->WriteString(L"\"", 1);
442 } 441 }
443 pStream->WriteString(L" xmlns=\"", FXSYS_wcslen(L" xmlns=\"")); 442 pStream->WriteString(L" xmlns=\"", FXSYS_wcslen(L" xmlns=\""));
444 const FX_WCHAR* pURI = XFA_GetPacketByIndex(XFA_PACKET_Form)->pURI; 443 const FX_WCHAR* pURI = XFA_GetPacketByIndex(XFA_PACKET_Form)->pURI;
445 pStream->WriteString(pURI, FXSYS_wcslen(pURI)); 444 pStream->WriteString(pURI, FXSYS_wcslen(pURI));
446 CFX_WideString wsVersionNumber; 445 CFX_WideString wsVersionNumber;
447 XFA_DataExporter_RecognizeXFAVersionNumber( 446 XFA_DataExporter_RecognizeXFAVersionNumber(
448 (CXFA_Node*)pNode->GetDocument()->GetXFAObject(XFA_XDPPACKET_Template), 447 ToNode(pNode->GetDocument()->GetXFAObject(XFA_XDPPACKET_Template)),
449 wsVersionNumber); 448 wsVersionNumber);
450 if (wsVersionNumber.IsEmpty()) { 449 if (wsVersionNumber.IsEmpty()) {
451 wsVersionNumber = FX_WSTRC(L"2.8"); 450 wsVersionNumber = FX_WSTRC(L"2.8");
452 } 451 }
453 wsVersionNumber += FX_WSTRC(L"/\"\n>"); 452 wsVersionNumber += FX_WSTRC(L"/\"\n>");
454 pStream->WriteString((const FX_WCHAR*)wsVersionNumber, 453 pStream->WriteString((const FX_WCHAR*)wsVersionNumber,
455 wsVersionNumber.GetLength()); 454 wsVersionNumber.GetLength());
456 CXFA_Node* pChildNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild); 455 CXFA_Node* pChildNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
457 while (pChildNode) { 456 while (pChildNode) {
458 XFA_DataExporter_RegenerateFormFile_Container(pChildNode, pStream); 457 XFA_DataExporter_RegenerateFormFile_Container(pChildNode, pStream);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 pXMLElement->RemoveAttribute(L"xfa:dataNode"); 579 pXMLElement->RemoveAttribute(L"xfa:dataNode");
581 } 580 }
582 } else { 581 } else {
583 IFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode(); 582 IFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode();
584 FXSYS_assert(pXMLNode->GetType() == FDE_XMLNODE_Element); 583 FXSYS_assert(pXMLNode->GetType() == FDE_XMLNODE_Element);
585 ((IFDE_XMLElement*)pXMLNode) 584 ((IFDE_XMLElement*)pXMLNode)
586 ->SetString(FX_WSTRC(L"xfa:dataNode"), FX_WSTRC(L"dataGroup")); 585 ->SetString(FX_WSTRC(L"xfa:dataNode"), FX_WSTRC(L"dataGroup"));
587 } 586 }
588 } 587 }
589 } 588 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698