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

Side by Side Diff: core/fxcrt/fx_xml_parser.cpp

Issue 1857073002: Make down-conversion explicit from CFX_Widetring to CFX_WideStringC. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: String argument type Created 4 years, 8 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 | « core/fpdfdoc/doc_basic.cpp ('k') | core/fxcrt/include/fx_string.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 "core/fxcrt/xml_int.h" 7 #include "core/fxcrt/xml_int.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 break; 391 break;
392 } 392 }
393 m_dwIndex++; 393 m_dwIndex++;
394 SkipWhiteSpaces(); 394 SkipWhiteSpaces();
395 if (IsEOF()) { 395 if (IsEOF()) {
396 break; 396 break;
397 } 397 }
398 CFX_WideString attr_value; 398 CFX_WideString attr_value;
399 GetAttrValue(attr_value); 399 GetAttrValue(attr_value);
400 pElement->m_AttrMap.SetAt(attr_space.AsByteStringC(), 400 pElement->m_AttrMap.SetAt(attr_space.AsByteStringC(),
401 attr_name.AsByteStringC(), attr_value); 401 attr_name.AsByteStringC(),
402 attr_value.AsWideStringC());
402 } 403 }
403 m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex; 404 m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex;
404 if (m_dwIndex < m_dwBufferSize || IsEOF()) { 405 if (m_dwIndex < m_dwBufferSize || IsEOF()) {
405 break; 406 break;
406 } 407 }
407 } while (ReadNextBlock()); 408 } while (ReadNextBlock());
408 SkipWhiteSpaces(); 409 SkipWhiteSpaces();
409 if (IsEOF()) { 410 if (IsEOF()) {
410 return pElement; 411 return pElement;
411 } 412 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 GetName(space, name); 455 GetName(space, name);
455 SkipWhiteSpaces(); 456 SkipWhiteSpaces();
456 m_dwIndex++; 457 m_dwIndex++;
457 iState = 10; 458 iState = 10;
458 } else { 459 } else {
459 content << decoder.GetResult(); 460 content << decoder.GetResult();
460 CFX_WideString dataStr = content.GetWideString(); 461 CFX_WideString dataStr = content.GetWideString();
461 if (!bCDATA && !m_bSaveSpaceChars) { 462 if (!bCDATA && !m_bSaveSpaceChars) {
462 dataStr.TrimRight(L" \t\r\n"); 463 dataStr.TrimRight(L" \t\r\n");
463 } 464 }
464 InsertContentSegment(bCDATA, dataStr, pElement); 465 InsertContentSegment(bCDATA, dataStr.AsWideStringC(), pElement);
465 content.Clear(); 466 content.Clear();
466 decoder.Clear(); 467 decoder.Clear();
467 bCDATA = FALSE; 468 bCDATA = FALSE;
468 iState = 0; 469 iState = 0;
469 m_dwIndex--; 470 m_dwIndex--;
470 CXML_Element* pSubElement = ParseElement(pElement, TRUE); 471 CXML_Element* pSubElement = ParseElement(pElement, TRUE);
471 if (!pSubElement) { 472 if (!pSubElement) {
472 break; 473 break;
473 } 474 }
474 pSubElement->m_pParent = pElement; 475 pSubElement->m_pParent = pElement;
(...skipping 23 matching lines...) Expand all
498 m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex; 499 m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex;
499 if (iState == 10 || m_dwIndex < m_dwBufferSize || IsEOF()) { 500 if (iState == 10 || m_dwIndex < m_dwBufferSize || IsEOF()) {
500 break; 501 break;
501 } 502 }
502 } while (ReadNextBlock()); 503 } while (ReadNextBlock());
503 content << decoder.GetResult(); 504 content << decoder.GetResult();
504 CFX_WideString dataStr = content.GetWideString(); 505 CFX_WideString dataStr = content.GetWideString();
505 if (!m_bSaveSpaceChars) { 506 if (!m_bSaveSpaceChars) {
506 dataStr.TrimRight(L" \t\r\n"); 507 dataStr.TrimRight(L" \t\r\n");
507 } 508 }
508 InsertContentSegment(bCDATA, dataStr, pElement); 509 InsertContentSegment(bCDATA, dataStr.AsWideStringC(), pElement);
509 content.Clear(); 510 content.Clear();
510 decoder.Clear(); 511 decoder.Clear();
511 bCDATA = FALSE; 512 bCDATA = FALSE;
512 return pElement; 513 return pElement;
513 } 514 }
514 void CXML_Parser::InsertContentSegment(FX_BOOL bCDATA, 515 void CXML_Parser::InsertContentSegment(FX_BOOL bCDATA,
515 const CFX_WideStringC& content, 516 const CFX_WideStringC& content,
516 CXML_Element* pElement) { 517 CXML_Element* pElement) {
517 if (content.IsEmpty()) { 518 if (content.IsEmpty()) {
518 return; 519 return;
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 m_pMap->push_back({space, name, value}); 788 m_pMap->push_back({space, name, value});
788 } 789 }
789 790
790 int CXML_AttrMap::GetSize() const { 791 int CXML_AttrMap::GetSize() const {
791 return m_pMap ? pdfium::CollectionSize<int>(*m_pMap) : 0; 792 return m_pMap ? pdfium::CollectionSize<int>(*m_pMap) : 0;
792 } 793 }
793 794
794 CXML_AttrItem& CXML_AttrMap::GetAt(int index) const { 795 CXML_AttrItem& CXML_AttrMap::GetAt(int index) const {
795 return (*m_pMap)[index]; 796 return (*m_pMap)[index];
796 } 797 }
OLDNEW
« no previous file with comments | « core/fpdfdoc/doc_basic.cpp ('k') | core/fxcrt/include/fx_string.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698