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

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

Issue 2089443002: Convert XFA_ELEMENT to an enum class (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: More unknown checks Created 4 years, 6 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
« no previous file with comments | « xfa/fxfa/parser/xfa_document_layout_imp.cpp ('k') | xfa/fxfa/parser/xfa_layout_appadapter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/fxfa/parser/xfa_document_serialize.h" 7 #include "xfa/fxfa/parser/xfa_document_serialize.h"
8 8
9 #include "xfa/fde/xml/fde_xml_imp.h" 9 #include "xfa/fde/xml/fde_xml_imp.h"
10 #include "xfa/fgas/crt/fgas_codepage.h" 10 #include "xfa/fgas/crt/fgas_codepage.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 CXFA_Node* pDataModel = 43 CXFA_Node* pDataModel =
44 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets)); 44 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Datasets));
45 if (!pDataModel) { 45 if (!pDataModel) {
46 pDataDocumentParser->Release(); 46 pDataDocumentParser->Release();
47 return FALSE; 47 return FALSE;
48 } 48 }
49 CXFA_Node* pDataNode = ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Data)); 49 CXFA_Node* pDataNode = ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Data));
50 if (pDataNode) { 50 if (pDataNode) {
51 pDataModel->RemoveChild(pDataNode); 51 pDataModel->RemoveChild(pDataNode);
52 } 52 }
53 if (pImportDataRoot->GetClassID() == XFA_ELEMENT_DataModel) { 53 if (pImportDataRoot->GetClassID() == XFA_Element::DataModel) {
54 while (CXFA_Node* pChildNode = 54 while (CXFA_Node* pChildNode =
55 pImportDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild)) { 55 pImportDataRoot->GetNodeItem(XFA_NODEITEM_FirstChild)) {
56 pImportDataRoot->RemoveChild(pChildNode); 56 pImportDataRoot->RemoveChild(pChildNode);
57 pDataModel->InsertChild(pChildNode); 57 pDataModel->InsertChild(pChildNode);
58 } 58 }
59 } else { 59 } else {
60 CFDE_XMLNode* pXMLNode = pImportDataRoot->GetXMLMappingNode(); 60 CFDE_XMLNode* pXMLNode = pImportDataRoot->GetXMLMappingNode();
61 CFDE_XMLNode* pParentXMLNode = pXMLNode->GetNodeItem(CFDE_XMLNode::Parent); 61 CFDE_XMLNode* pParentXMLNode = pXMLNode->GetNodeItem(CFDE_XMLNode::Parent);
62 if (pParentXMLNode) { 62 if (pParentXMLNode) {
63 pParentXMLNode->RemoveChildNode(pXMLNode); 63 pParentXMLNode->RemoveChildNode(pXMLNode);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 wsOutput += FX_WSTRC(L" "); 138 wsOutput += FX_WSTRC(L" ");
139 wsOutput += wsName; 139 wsOutput += wsName;
140 wsOutput += FX_WSTRC(L"=\""); 140 wsOutput += FX_WSTRC(L"=\"");
141 wsOutput += wsValue; 141 wsOutput += wsValue;
142 wsOutput += FX_WSTRC(L"\""); 142 wsOutput += FX_WSTRC(L"\"");
143 } 143 }
144 static FX_BOOL XFA_DataExporter_AttributeSaveInDataModel( 144 static FX_BOOL XFA_DataExporter_AttributeSaveInDataModel(
145 CXFA_Node* pNode, 145 CXFA_Node* pNode,
146 XFA_ATTRIBUTE eAttribute) { 146 XFA_ATTRIBUTE eAttribute) {
147 FX_BOOL bSaveInDataModel = FALSE; 147 FX_BOOL bSaveInDataModel = FALSE;
148 if (pNode->GetClassID() != XFA_ELEMENT_Image) { 148 if (pNode->GetClassID() != XFA_Element::Image) {
149 return bSaveInDataModel; 149 return bSaveInDataModel;
150 } 150 }
151 CXFA_Node* pValueNode = pNode->GetNodeItem(XFA_NODEITEM_Parent); 151 CXFA_Node* pValueNode = pNode->GetNodeItem(XFA_NODEITEM_Parent);
152 if (!pValueNode || pValueNode->GetClassID() != XFA_ELEMENT_Value) { 152 if (!pValueNode || pValueNode->GetClassID() != XFA_Element::Value) {
153 return bSaveInDataModel; 153 return bSaveInDataModel;
154 } 154 }
155 CXFA_Node* pFieldNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent); 155 CXFA_Node* pFieldNode = pValueNode->GetNodeItem(XFA_NODEITEM_Parent);
156 if (pFieldNode && pFieldNode->GetBindData() && 156 if (pFieldNode && pFieldNode->GetBindData() &&
157 eAttribute == XFA_ATTRIBUTE_Href) { 157 eAttribute == XFA_ATTRIBUTE_Href) {
158 bSaveInDataModel = TRUE; 158 bSaveInDataModel = TRUE;
159 } 159 }
160 return bSaveInDataModel; 160 return bSaveInDataModel;
161 } 161 }
162 FX_BOOL XFA_DataExporter_ContentNodeNeedtoExport(CXFA_Node* pContentNode) { 162 FX_BOOL XFA_DataExporter_ContentNodeNeedtoExport(CXFA_Node* pContentNode) {
163 CFX_WideString wsContent; 163 CFX_WideString wsContent;
164 if (!pContentNode->TryContent(wsContent, FALSE, FALSE)) 164 if (!pContentNode->TryContent(wsContent, FALSE, FALSE))
165 return FALSE; 165 return FALSE;
166 166
167 ASSERT(pContentNode->IsContentNode()); 167 ASSERT(pContentNode->IsContentNode());
168 CXFA_Node* pParentNode = pContentNode->GetNodeItem(XFA_NODEITEM_Parent); 168 CXFA_Node* pParentNode = pContentNode->GetNodeItem(XFA_NODEITEM_Parent);
169 if (!pParentNode || pParentNode->GetClassID() != XFA_ELEMENT_Value) 169 if (!pParentNode || pParentNode->GetClassID() != XFA_Element::Value)
170 return TRUE; 170 return TRUE;
171 171
172 CXFA_Node* pGrandParentNode = pParentNode->GetNodeItem(XFA_NODEITEM_Parent); 172 CXFA_Node* pGrandParentNode = pParentNode->GetNodeItem(XFA_NODEITEM_Parent);
173 if (!pGrandParentNode || !pGrandParentNode->IsContainerNode()) 173 if (!pGrandParentNode || !pGrandParentNode->IsContainerNode())
174 return TRUE; 174 return TRUE;
175 if (pGrandParentNode->GetBindData()) 175 if (pGrandParentNode->GetBindData())
176 return FALSE; 176 return FALSE;
177 177
178 CXFA_WidgetData* pWidgetData = pGrandParentNode->GetWidgetData(); 178 CXFA_WidgetData* pWidgetData = pGrandParentNode->GetWidgetData();
179 XFA_ELEMENT eUIType = pWidgetData->GetUIType(); 179 XFA_Element eUIType = pWidgetData->GetUIType();
180 if (eUIType == XFA_ELEMENT_PasswordEdit) { 180 if (eUIType == XFA_Element::PasswordEdit) {
181 return FALSE; 181 return FALSE;
182 } 182 }
183 return TRUE; 183 return TRUE;
184 } 184 }
185 static void XFA_DataExporter_RecognizeXFAVersionNumber( 185 static void XFA_DataExporter_RecognizeXFAVersionNumber(
186 CXFA_Node* pTemplateRoot, 186 CXFA_Node* pTemplateRoot,
187 CFX_WideString& wsVersionNumber) { 187 CFX_WideString& wsVersionNumber) {
188 wsVersionNumber.clear(); 188 wsVersionNumber.clear();
189 if (!pTemplateRoot) { 189 if (!pTemplateRoot) {
190 return; 190 return;
(...skipping 29 matching lines...) Expand all
220 wsAttrs += wsAttr; 220 wsAttrs += wsAttr;
221 } 221 }
222 CFX_WideString wsChildren; 222 CFX_WideString wsChildren;
223 switch (pNode->GetObjectType()) { 223 switch (pNode->GetObjectType()) {
224 case XFA_ObjectType::ContentNode: { 224 case XFA_ObjectType::ContentNode: {
225 if (!bSaveXML && !XFA_DataExporter_ContentNodeNeedtoExport(pNode)) { 225 if (!bSaveXML && !XFA_DataExporter_ContentNodeNeedtoExport(pNode)) {
226 break; 226 break;
227 } 227 }
228 CXFA_Node* pRawValueNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild); 228 CXFA_Node* pRawValueNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
229 while (pRawValueNode && 229 while (pRawValueNode &&
230 pRawValueNode->GetClassID() != XFA_ELEMENT_SharpxHTML && 230 pRawValueNode->GetClassID() != XFA_Element::SharpxHTML &&
231 pRawValueNode->GetClassID() != XFA_ELEMENT_Sharptext && 231 pRawValueNode->GetClassID() != XFA_Element::Sharptext &&
232 pRawValueNode->GetClassID() != XFA_ELEMENT_Sharpxml) { 232 pRawValueNode->GetClassID() != XFA_Element::Sharpxml) {
233 pRawValueNode = pRawValueNode->GetNodeItem(XFA_NODEITEM_NextSibling); 233 pRawValueNode = pRawValueNode->GetNodeItem(XFA_NODEITEM_NextSibling);
234 } 234 }
235 if (!pRawValueNode) { 235 if (!pRawValueNode) {
236 break; 236 break;
237 } 237 }
238 CFX_WideString wsContentType; 238 CFX_WideString wsContentType;
239 pNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE); 239 pNode->GetAttribute(XFA_ATTRIBUTE_ContentType, wsContentType, FALSE);
240 if (pRawValueNode->GetClassID() == XFA_ELEMENT_SharpxHTML && 240 if (pRawValueNode->GetClassID() == XFA_Element::SharpxHTML &&
241 wsContentType == FX_WSTRC(L"text/html")) { 241 wsContentType == FX_WSTRC(L"text/html")) {
242 CFDE_XMLNode* pExDataXML = pNode->GetXMLMappingNode(); 242 CFDE_XMLNode* pExDataXML = pNode->GetXMLMappingNode();
243 if (!pExDataXML) { 243 if (!pExDataXML) {
244 break; 244 break;
245 } 245 }
246 CFDE_XMLNode* pRichTextXML = 246 CFDE_XMLNode* pRichTextXML =
247 pExDataXML->GetNodeItem(CFDE_XMLNode::FirstChild); 247 pExDataXML->GetNodeItem(CFDE_XMLNode::FirstChild);
248 if (!pRichTextXML) { 248 if (!pRichTextXML) {
249 break; 249 break;
250 } 250 }
251 IFX_MemoryStream* pMemStream = FX_CreateMemoryStream(TRUE); 251 IFX_MemoryStream* pMemStream = FX_CreateMemoryStream(TRUE);
252 IFX_Stream* pTempStream = IFX_Stream::CreateStream( 252 IFX_Stream* pTempStream = IFX_Stream::CreateStream(
253 (IFX_FileWrite*)pMemStream, FX_STREAMACCESS_Text | 253 (IFX_FileWrite*)pMemStream, FX_STREAMACCESS_Text |
254 FX_STREAMACCESS_Write | 254 FX_STREAMACCESS_Write |
255 FX_STREAMACCESS_Append); 255 FX_STREAMACCESS_Append);
256 pTempStream->SetCodePage(FX_CODEPAGE_UTF8); 256 pTempStream->SetCodePage(FX_CODEPAGE_UTF8);
257 pRichTextXML->SaveXMLNode(pTempStream); 257 pRichTextXML->SaveXMLNode(pTempStream);
258 wsChildren += CFX_WideString::FromUTF8( 258 wsChildren += CFX_WideString::FromUTF8(
259 CFX_ByteStringC(pMemStream->GetBuffer(), pMemStream->GetSize())); 259 CFX_ByteStringC(pMemStream->GetBuffer(), pMemStream->GetSize()));
260 pTempStream->Release(); 260 pTempStream->Release();
261 pMemStream->Release(); 261 pMemStream->Release();
262 } else if (pRawValueNode->GetClassID() == XFA_ELEMENT_Sharpxml && 262 } else if (pRawValueNode->GetClassID() == XFA_Element::Sharpxml &&
263 wsContentType == FX_WSTRC(L"text/xml")) { 263 wsContentType == FX_WSTRC(L"text/xml")) {
264 CFX_WideString wsRawValue; 264 CFX_WideString wsRawValue;
265 pRawValueNode->GetAttribute(XFA_ATTRIBUTE_Value, wsRawValue, FALSE); 265 pRawValueNode->GetAttribute(XFA_ATTRIBUTE_Value, wsRawValue, FALSE);
266 if (wsRawValue.IsEmpty()) { 266 if (wsRawValue.IsEmpty()) {
267 break; 267 break;
268 } 268 }
269 CFX_WideStringArray wsSelTextArray; 269 CFX_WideStringArray wsSelTextArray;
270 int32_t iStart = 0; 270 int32_t iStart = 0;
271 int32_t iEnd = wsRawValue.Find(L'\n', iStart); 271 int32_t iEnd = wsRawValue.Find(L'\n', iStart);
272 iEnd = (iEnd == -1) ? wsRawValue.GetLength() : iEnd; 272 iEnd = (iEnd == -1) ? wsRawValue.GetLength() : iEnd;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 wsChildren += XFA_ExportEncodeContent(wsValue); 306 wsChildren += XFA_ExportEncodeContent(wsValue);
307 } 307 }
308 } break; 308 } break;
309 case XFA_ObjectType::TextNode: 309 case XFA_ObjectType::TextNode:
310 case XFA_ObjectType::NodeC: 310 case XFA_ObjectType::NodeC:
311 case XFA_ObjectType::NodeV: { 311 case XFA_ObjectType::NodeV: {
312 CFX_WideStringC wsValue = pNode->GetCData(XFA_ATTRIBUTE_Value); 312 CFX_WideStringC wsValue = pNode->GetCData(XFA_ATTRIBUTE_Value);
313 wsChildren += XFA_ExportEncodeContent(wsValue); 313 wsChildren += XFA_ExportEncodeContent(wsValue);
314 } break; 314 } break;
315 default: 315 default:
316 if (pNode->GetClassID() == XFA_ELEMENT_Items) { 316 if (pNode->GetClassID() == XFA_Element::Items) {
317 CXFA_Node* pTemplateNode = pNode->GetTemplateNode(); 317 CXFA_Node* pTemplateNode = pNode->GetTemplateNode();
318 if (!pTemplateNode || 318 if (!pTemplateNode ||
319 pTemplateNode->CountChildren(XFA_ELEMENT_UNKNOWN) != 319 pTemplateNode->CountChildren(XFA_Element::Unknown) !=
320 pNode->CountChildren(XFA_ELEMENT_UNKNOWN)) { 320 pNode->CountChildren(XFA_Element::Unknown)) {
321 bSaveXML = TRUE; 321 bSaveXML = TRUE;
322 } 322 }
323 } 323 }
324 CFX_WideTextBuf newBuf; 324 CFX_WideTextBuf newBuf;
325 CXFA_Node* pChildNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild); 325 CXFA_Node* pChildNode = pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
326 while (pChildNode) { 326 while (pChildNode) {
327 XFA_DataExporter_RegenerateFormFile_Changed(pChildNode, newBuf, 327 XFA_DataExporter_RegenerateFormFile_Changed(pChildNode, newBuf,
328 bSaveXML); 328 bSaveXML);
329 wsChildren += newBuf.AsStringC(); 329 wsChildren += newBuf.AsStringC();
330 newBuf.Clear(); 330 newBuf.Clear();
331 pChildNode = pChildNode->GetNodeItem(XFA_NODEITEM_NextSibling); 331 pChildNode = pChildNode->GetNodeItem(XFA_NODEITEM_NextSibling);
332 } 332 }
333 if (!bSaveXML && !wsChildren.IsEmpty() && 333 if (!bSaveXML && !wsChildren.IsEmpty() &&
334 pNode->GetClassID() == XFA_ELEMENT_Items) { 334 pNode->GetClassID() == XFA_Element::Items) {
335 wsChildren.clear(); 335 wsChildren.clear();
336 bSaveXML = TRUE; 336 bSaveXML = TRUE;
337 CXFA_Node* pChild = pNode->GetNodeItem(XFA_NODEITEM_FirstChild); 337 CXFA_Node* pChild = pNode->GetNodeItem(XFA_NODEITEM_FirstChild);
338 while (pChild) { 338 while (pChild) {
339 XFA_DataExporter_RegenerateFormFile_Changed(pChild, newBuf, bSaveXML); 339 XFA_DataExporter_RegenerateFormFile_Changed(pChild, newBuf, bSaveXML);
340 wsChildren += newBuf.AsStringC(); 340 wsChildren += newBuf.AsStringC();
341 newBuf.Clear(); 341 newBuf.Clear();
342 pChild = pChild->GetNodeItem(XFA_NODEITEM_NextSibling); 342 pChild = pChild->GetNodeItem(XFA_NODEITEM_NextSibling);
343 } 343 }
344 } 344 }
(...skipping 18 matching lines...) Expand all
363 buf << FX_WSTRC(L"</"); 363 buf << FX_WSTRC(L"</");
364 buf << wsElement; 364 buf << wsElement;
365 buf << FX_WSTRC(L"\n>"); 365 buf << FX_WSTRC(L"\n>");
366 } 366 }
367 } 367 }
368 } 368 }
369 static void XFA_DataExporter_RegenerateFormFile_Container( 369 static void XFA_DataExporter_RegenerateFormFile_Container(
370 CXFA_Node* pNode, 370 CXFA_Node* pNode,
371 IFX_Stream* pStream, 371 IFX_Stream* pStream,
372 FX_BOOL bSaveXML = FALSE) { 372 FX_BOOL bSaveXML = FALSE) {
373 XFA_ELEMENT eElement = pNode->GetClassID(); 373 XFA_Element eElement = pNode->GetClassID();
374 if (eElement == XFA_ELEMENT_Field || eElement == XFA_ELEMENT_Draw || 374 if (eElement == XFA_Element::Field || eElement == XFA_Element::Draw ||
375 !pNode->IsContainerNode()) { 375 !pNode->IsContainerNode()) {
376 CFX_WideTextBuf buf; 376 CFX_WideTextBuf buf;
377 XFA_DataExporter_RegenerateFormFile_Changed(pNode, buf, bSaveXML); 377 XFA_DataExporter_RegenerateFormFile_Changed(pNode, buf, bSaveXML);
378 FX_STRSIZE nLen = buf.GetLength(); 378 FX_STRSIZE nLen = buf.GetLength();
379 if (nLen > 0) { 379 if (nLen > 0) {
380 pStream->WriteString((const FX_WCHAR*)buf.GetBuffer(), nLen); 380 pStream->WriteString((const FX_WCHAR*)buf.GetBuffer(), nLen);
381 } 381 }
382 return; 382 return;
383 } 383 }
384 CFX_WideStringC wsElement; 384 CFX_WideStringC wsElement;
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 } 544 }
545 XFA_DataExporter_DealWithDataGroupNode(pExportNode); 545 XFA_DataExporter_DealWithDataGroupNode(pExportNode);
546 pElement->SetString(L"xmlns:xfa", 546 pElement->SetString(L"xmlns:xfa",
547 L"http://www.xfa.org/schema/xfa-data/1.0/"); 547 L"http://www.xfa.org/schema/xfa-data/1.0/");
548 pXMLDoc->SaveXMLNode(pStream, pElement); 548 pXMLDoc->SaveXMLNode(pStream, pElement);
549 pElement->RemoveAttribute(L"xmlns:xfa"); 549 pElement->RemoveAttribute(L"xmlns:xfa");
550 } 550 }
551 return TRUE; 551 return TRUE;
552 } 552 }
553 void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode) { 553 void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode) {
554 if (!pDataNode || pDataNode->GetClassID() == XFA_ELEMENT_DataValue) { 554 if (!pDataNode || pDataNode->GetClassID() == XFA_Element::DataValue) {
555 return; 555 return;
556 } 556 }
557 int32_t iChildNum = 0; 557 int32_t iChildNum = 0;
558 for (CXFA_Node* pChildNode = pDataNode->GetNodeItem(XFA_NODEITEM_FirstChild); 558 for (CXFA_Node* pChildNode = pDataNode->GetNodeItem(XFA_NODEITEM_FirstChild);
559 pChildNode; 559 pChildNode;
560 pChildNode = pChildNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 560 pChildNode = pChildNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
561 iChildNum++; 561 iChildNum++;
562 XFA_DataExporter_DealWithDataGroupNode(pChildNode); 562 XFA_DataExporter_DealWithDataGroupNode(pChildNode);
563 } 563 }
564 if (pDataNode->GetClassID() == XFA_ELEMENT_DataGroup) { 564 if (pDataNode->GetClassID() == XFA_Element::DataGroup) {
565 if (iChildNum > 0) { 565 if (iChildNum > 0) {
566 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode(); 566 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode();
567 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element); 567 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element);
568 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); 568 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode);
569 if (pXMLElement->HasAttribute(L"xfa:dataNode")) { 569 if (pXMLElement->HasAttribute(L"xfa:dataNode")) {
570 pXMLElement->RemoveAttribute(L"xfa:dataNode"); 570 pXMLElement->RemoveAttribute(L"xfa:dataNode");
571 } 571 }
572 } else { 572 } else {
573 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode(); 573 CFDE_XMLNode* pXMLNode = pDataNode->GetXMLMappingNode();
574 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element); 574 ASSERT(pXMLNode->GetType() == FDE_XMLNODE_Element);
575 static_cast<CFDE_XMLElement*>(pXMLNode)->SetString(L"xfa:dataNode", 575 static_cast<CFDE_XMLElement*>(pXMLNode)->SetString(L"xfa:dataNode",
576 L"dataGroup"); 576 L"dataGroup");
577 } 577 }
578 } 578 }
579 } 579 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_document_layout_imp.cpp ('k') | xfa/fxfa/parser/xfa_layout_appadapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698