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

Side by Side Diff: xfa/fde/css/fde_cssstylesheet.cpp

Issue 2162503003: Cleanup fgas/crt. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Win fixes Created 4 years, 5 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/fde/css/fde_cssstylesheet.h ('k') | xfa/fde/css/fde_csssyntax.cpp » ('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/fde/css/fde_cssstylesheet.h" 7 #include "xfa/fde/css/fde_cssstylesheet.h"
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 pStyleSheet->Release(); 71 pStyleSheet->Release();
72 pStyleSheet = nullptr; 72 pStyleSheet = nullptr;
73 } 73 }
74 return pStyleSheet; 74 return pStyleSheet;
75 } 75 }
76 76
77 CFDE_CSSStyleSheet::CFDE_CSSStyleSheet(uint32_t dwMediaList) 77 CFDE_CSSStyleSheet::CFDE_CSSStyleSheet(uint32_t dwMediaList)
78 : m_wCodePage(FX_CODEPAGE_UTF8), 78 : m_wCodePage(FX_CODEPAGE_UTF8),
79 m_wRefCount(1), 79 m_wRefCount(1),
80 m_dwMediaList(dwMediaList), 80 m_dwMediaList(dwMediaList),
81 m_pAllocator(nullptr) { 81 m_pAllocator(nullptr),
82 m_RuleArray(100) {
82 ASSERT(m_dwMediaList > 0); 83 ASSERT(m_dwMediaList > 0);
83 } 84 }
84 85
85 CFDE_CSSStyleSheet::~CFDE_CSSStyleSheet() { 86 CFDE_CSSStyleSheet::~CFDE_CSSStyleSheet() {
86 Reset(); 87 Reset();
87 } 88 }
88 89
89 void CFDE_CSSStyleSheet::Reset() { 90 void CFDE_CSSStyleSheet::Reset() {
90 for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { 91 for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) {
91 IFDE_CSSRule* pRule = m_RuleArray.GetAt(i); 92 IFDE_CSSRule* pRule = m_RuleArray.GetAt(i);
92 switch (pRule->GetType()) { 93 switch (pRule->GetType()) {
93 case FDE_CSSRULETYPE_Style: 94 case FDE_CSSRULETYPE_Style:
94 static_cast<CFDE_CSSStyleRule*>(pRule)->~CFDE_CSSStyleRule(); 95 static_cast<CFDE_CSSStyleRule*>(pRule)->~CFDE_CSSStyleRule();
95 break; 96 break;
96 case FDE_CSSRULETYPE_Media: 97 case FDE_CSSRULETYPE_Media:
97 static_cast<CFDE_CSSMediaRule*>(pRule)->~CFDE_CSSMediaRule(); 98 static_cast<CFDE_CSSMediaRule*>(pRule)->~CFDE_CSSMediaRule();
98 break; 99 break;
99 case FDE_CSSRULETYPE_FontFace: 100 case FDE_CSSRULETYPE_FontFace:
100 static_cast<CFDE_CSSFontFaceRule*>(pRule)->~CFDE_CSSFontFaceRule(); 101 static_cast<CFDE_CSSFontFaceRule*>(pRule)->~CFDE_CSSFontFaceRule();
101 break; 102 break;
102 default: 103 default:
103 ASSERT(FALSE); 104 ASSERT(FALSE);
104 break; 105 break;
105 } 106 }
106 } 107 }
107 m_RuleArray.RemoveAll(); 108 m_RuleArray.RemoveAll(FALSE);
108 m_Selectors.RemoveAll(); 109 m_Selectors.RemoveAll();
109 m_StringCache.clear(); 110 m_StringCache.clear();
110 delete m_pAllocator; 111 delete m_pAllocator;
111 m_pAllocator = nullptr; 112 m_pAllocator = nullptr;
112 } 113 }
113 114
114 uint32_t CFDE_CSSStyleSheet::Retain() { 115 uint32_t CFDE_CSSStyleSheet::Retain() {
115 return ++m_wRefCount; 116 return ++m_wRefCount;
116 } 117 }
117 118
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 break; 235 break;
235 case FDE_CSSSYNTAXSTATUS_DeclClose: 236 case FDE_CSSSYNTAXSTATUS_DeclClose:
236 return FDE_CSSSYNTAXSTATUS_None; 237 return FDE_CSSSYNTAXSTATUS_None;
237 FDE_CSSSWITCHDEFAULTS(); 238 FDE_CSSSWITCHDEFAULTS();
238 } 239 }
239 } 240 }
240 } 241 }
241 242
242 FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadStyleRule( 243 FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadStyleRule(
243 CFDE_CSSSyntaxParser* pSyntax, 244 CFDE_CSSSyntaxParser* pSyntax,
244 CFDE_CSSRuleArray& ruleArray) { 245 CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray) {
245 m_Selectors.RemoveAt(0, m_Selectors.GetSize()); 246 m_Selectors.RemoveAt(0, m_Selectors.GetSize());
246 CFDE_CSSStyleRule* pStyleRule = nullptr; 247 CFDE_CSSStyleRule* pStyleRule = nullptr;
247 const FX_WCHAR* pszValue = nullptr; 248 const FX_WCHAR* pszValue = nullptr;
248 int32_t iValueLen = 0; 249 int32_t iValueLen = 0;
249 FDE_CSSPROPERTYARGS propertyArgs; 250 FDE_CSSPROPERTYARGS propertyArgs;
250 propertyArgs.pStaticStore = m_pAllocator; 251 propertyArgs.pStaticStore = m_pAllocator;
251 propertyArgs.pStringCache = &m_StringCache; 252 propertyArgs.pStringCache = &m_StringCache;
252 propertyArgs.pProperty = nullptr; 253 propertyArgs.pProperty = nullptr;
253 CFX_WideString wsName; 254 CFX_WideString wsName;
254 for (;;) { 255 for (;;) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 ruleArray.RemoveLast(1); 300 ruleArray.RemoveLast(1);
300 } 301 }
301 return FDE_CSSSYNTAXSTATUS_None; 302 return FDE_CSSSYNTAXSTATUS_None;
302 FDE_CSSSWITCHDEFAULTS(); 303 FDE_CSSSWITCHDEFAULTS();
303 } 304 }
304 } 305 }
305 } 306 }
306 307
307 FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadFontFaceRule( 308 FDE_CSSSYNTAXSTATUS CFDE_CSSStyleSheet::LoadFontFaceRule(
308 CFDE_CSSSyntaxParser* pSyntax, 309 CFDE_CSSSyntaxParser* pSyntax,
309 CFDE_CSSRuleArray& ruleArray) { 310 CFX_MassArrayTemplate<IFDE_CSSRule*>& ruleArray) {
310 CFDE_CSSFontFaceRule* pFontFaceRule = nullptr; 311 CFDE_CSSFontFaceRule* pFontFaceRule = nullptr;
311 const FX_WCHAR* pszValue = nullptr; 312 const FX_WCHAR* pszValue = nullptr;
312 int32_t iValueLen = 0; 313 int32_t iValueLen = 0;
313 FDE_CSSPROPERTYARGS propertyArgs; 314 FDE_CSSPROPERTYARGS propertyArgs;
314 propertyArgs.pStaticStore = m_pAllocator; 315 propertyArgs.pStaticStore = m_pAllocator;
315 propertyArgs.pStringCache = &m_StringCache; 316 propertyArgs.pStringCache = &m_StringCache;
316 propertyArgs.pProperty = nullptr; 317 propertyArgs.pProperty = nullptr;
317 for (;;) { 318 for (;;) {
318 switch (pSyntax->DoSyntaxParse()) { 319 switch (pSyntax->DoSyntaxParse()) {
319 case FDE_CSSSYNTAXSTATUS_PropertyName: 320 case FDE_CSSSYNTAXSTATUS_PropertyName:
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 } 386 }
386 387
387 CFDE_CSSSelector* CFDE_CSSStyleRule::GetSelectorList(int32_t index) const { 388 CFDE_CSSSelector* CFDE_CSSStyleRule::GetSelectorList(int32_t index) const {
388 return m_ppSelector[index]; 389 return m_ppSelector[index];
389 } 390 }
390 391
391 CFDE_CSSDeclaration* CFDE_CSSStyleRule::GetDeclaration() { 392 CFDE_CSSDeclaration* CFDE_CSSStyleRule::GetDeclaration() {
392 return &m_Declaration; 393 return &m_Declaration;
393 } 394 }
394 395
395 void CFDE_CSSStyleRule::SetSelector(IFX_MemoryAllocator* pStaticStore, 396 void CFDE_CSSStyleRule::SetSelector(
396 const CFDE_CSSSelectorArray& list) { 397 IFX_MemoryAllocator* pStaticStore,
398 const CFX_ArrayTemplate<CFDE_CSSSelector*>& list) {
397 ASSERT(!m_ppSelector); 399 ASSERT(!m_ppSelector);
398 m_iSelectors = list.GetSize(); 400 m_iSelectors = list.GetSize();
399 m_ppSelector = static_cast<CFDE_CSSSelector**>( 401 m_ppSelector = static_cast<CFDE_CSSSelector**>(
400 pStaticStore->Alloc(m_iSelectors * sizeof(CFDE_CSSSelector*))); 402 pStaticStore->Alloc(m_iSelectors * sizeof(CFDE_CSSSelector*)));
401 for (int32_t i = 0; i < m_iSelectors; ++i) { 403 for (int32_t i = 0; i < m_iSelectors; ++i) {
402 m_ppSelector[i] = list.GetAt(i); 404 m_ppSelector[i] = list.GetAt(i);
403 } 405 }
404 } 406 }
405 407
406 CFDE_CSSMediaRule::CFDE_CSSMediaRule(uint32_t dwMediaList) 408 CFDE_CSSMediaRule::CFDE_CSSMediaRule(uint32_t dwMediaList)
407 : m_dwMediaList(dwMediaList) {} 409 : m_dwMediaList(dwMediaList), m_RuleArray(100) {}
408 410
409 CFDE_CSSMediaRule::~CFDE_CSSMediaRule() { 411 CFDE_CSSMediaRule::~CFDE_CSSMediaRule() {
410 for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) { 412 for (int32_t i = m_RuleArray.GetSize() - 1; i >= 0; --i) {
411 IFDE_CSSRule* pRule = m_RuleArray.GetAt(i); 413 IFDE_CSSRule* pRule = m_RuleArray.GetAt(i);
412 switch (pRule->GetType()) { 414 switch (pRule->GetType()) {
413 case FDE_CSSRULETYPE_Style: 415 case FDE_CSSRULETYPE_Style:
414 ((CFDE_CSSStyleRule*)pRule)->~CFDE_CSSStyleRule(); 416 ((CFDE_CSSStyleRule*)pRule)->~CFDE_CSSStyleRule();
415 break; 417 break;
416 default: 418 default:
417 ASSERT(FALSE); 419 ASSERT(FALSE);
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 if (!pPersudoFirst) 579 if (!pPersudoFirst)
578 return pFirst; 580 return pFirst;
579 581
580 pPersudoLast->SetNext(pFirst); 582 pPersudoLast->SetNext(pFirst);
581 return pPersudoFirst; 583 return pPersudoFirst;
582 } 584 }
583 585
584 CFDE_CSSDeclaration* CFDE_CSSFontFaceRule::GetDeclaration() { 586 CFDE_CSSDeclaration* CFDE_CSSFontFaceRule::GetDeclaration() {
585 return &m_Declaration; 587 return &m_Declaration;
586 } 588 }
OLDNEW
« no previous file with comments | « xfa/fde/css/fde_cssstylesheet.h ('k') | xfa/fde/css/fde_csssyntax.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698