OLD | NEW |
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 <algorithm> |
| 8 |
7 #include "xfa/src/foxitlib.h" | 9 #include "xfa/src/foxitlib.h" |
8 #include "fde_csscache.h" | 10 #include "fde_csscache.h" |
9 _FDE_CSSCACHEITEM::_FDE_CSSCACHEITEM(IFDE_CSSStyleSheet* p) | 11 _FDE_CSSCACHEITEM::_FDE_CSSCACHEITEM(IFDE_CSSStyleSheet* p) |
10 : pStylesheet(p), dwActivity(0) { | 12 : pStylesheet(p), dwActivity(0) { |
11 FXSYS_assert(pStylesheet); | 13 FXSYS_assert(pStylesheet); |
12 pStylesheet->AddRef(); | 14 pStylesheet->AddRef(); |
13 } | 15 } |
14 _FDE_CSSCACHEITEM::~_FDE_CSSCACHEITEM() { | 16 _FDE_CSSCACHEITEM::~_FDE_CSSCACHEITEM() { |
15 pStylesheet->Release(); | 17 pStylesheet->Release(); |
16 } | 18 } |
(...skipping 10 matching lines...) Expand all Loading... |
27 } | 29 } |
28 m_Stylesheets.clear(); | 30 m_Stylesheets.clear(); |
29 if (m_pFixedStore) { | 31 if (m_pFixedStore) { |
30 m_pFixedStore->Release(); | 32 m_pFixedStore->Release(); |
31 } | 33 } |
32 } | 34 } |
33 void CFDE_CSSStyleSheetCache::AddStyleSheet(const CFX_ByteStringC& szKey, | 35 void CFDE_CSSStyleSheetCache::AddStyleSheet(const CFX_ByteStringC& szKey, |
34 IFDE_CSSStyleSheet* pStyleSheet) { | 36 IFDE_CSSStyleSheet* pStyleSheet) { |
35 FXSYS_assert(pStyleSheet != NULL); | 37 FXSYS_assert(pStyleSheet != NULL); |
36 if (m_pFixedStore == NULL) { | 38 if (m_pFixedStore == NULL) { |
37 m_pFixedStore = FX_CreateAllocator( | 39 m_pFixedStore = |
38 FX_ALLOCTYPE_Fixed, FX_MAX(10, m_iMaxItems), sizeof(FDE_CSSCACHEITEM)); | 40 FX_CreateAllocator(FX_ALLOCTYPE_Fixed, std::max(10, m_iMaxItems), |
| 41 sizeof(FDE_CSSCACHEITEM)); |
39 FXSYS_assert(m_pFixedStore != NULL); | 42 FXSYS_assert(m_pFixedStore != NULL); |
40 } | 43 } |
41 auto it = m_Stylesheets.find(szKey); | 44 auto it = m_Stylesheets.find(szKey); |
42 if (it != m_Stylesheets.end()) { | 45 if (it != m_Stylesheets.end()) { |
43 FDE_LPCSSCACHEITEM pItem = it->second; | 46 FDE_LPCSSCACHEITEM pItem = it->second; |
44 if (pItem->pStylesheet != pStyleSheet) { | 47 if (pItem->pStylesheet != pStyleSheet) { |
45 pItem->pStylesheet->Release(); | 48 pItem->pStylesheet->Release(); |
46 pItem->pStylesheet = pStyleSheet; | 49 pItem->pStylesheet = pStyleSheet; |
47 pItem->pStylesheet->AddRef(); | 50 pItem->pStylesheet->AddRef(); |
48 pItem->dwActivity = 0; | 51 pItem->dwActivity = 0; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 void CFDE_CSSAccelerator::OnEnterTag(IFDE_CSSTagProvider* pTag) { | 138 void CFDE_CSSAccelerator::OnEnterTag(IFDE_CSSTagProvider* pTag) { |
136 FDE_CSSTAGCACHE* pTop = GetTopElement(); | 139 FDE_CSSTAGCACHE* pTop = GetTopElement(); |
137 FDE_CSSTAGCACHE item(pTop, pTag); | 140 FDE_CSSTAGCACHE item(pTop, pTag); |
138 m_Stack.Push(item); | 141 m_Stack.Push(item); |
139 } | 142 } |
140 void CFDE_CSSAccelerator::OnLeaveTag(IFDE_CSSTagProvider* pTag) { | 143 void CFDE_CSSAccelerator::OnLeaveTag(IFDE_CSSTagProvider* pTag) { |
141 FDE_CSSTAGCACHE* pItem = m_Stack.GetTopElement(); | 144 FDE_CSSTAGCACHE* pItem = m_Stack.GetTopElement(); |
142 FXSYS_assert(pItem && pItem->GetTag() == pTag); | 145 FXSYS_assert(pItem && pItem->GetTag() == pTag); |
143 m_Stack.Pop(); | 146 m_Stack.Pop(); |
144 } | 147 } |
OLD | NEW |