| Index: xfa/fde/css/fde_cssstyleselector.h
|
| diff --git a/xfa/fde/css/fde_cssstyleselector.h b/xfa/fde/css/fde_cssstyleselector.h
|
| index 81566a93b1a3d0050774f76faf771fe235a522a1..f4ad422c96ccb4a101187ff6fe77cf64516f32d6 100644
|
| --- a/xfa/fde/css/fde_cssstyleselector.h
|
| +++ b/xfa/fde/css/fde_cssstyleselector.h
|
| @@ -7,6 +7,7 @@
|
| #ifndef XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_
|
| #define XFA_FDE_CSS_FDE_CSSSTYLESELECTOR_H_
|
|
|
| +#include <map>
|
| #include <memory>
|
| #include <vector>
|
|
|
| @@ -41,28 +42,25 @@ class CFDE_CSSRuleCollection : public CFX_Target {
|
| uint32_t dwMediaList,
|
| CFGAS_FontMgr* pFontMgr);
|
| void Clear();
|
| -
|
| int32_t CountSelectors() const { return m_iSelectors; }
|
| +
|
| FDE_CSSRuleData* GetIDRuleData(uint32_t dwIDHash) {
|
| - void* pData;
|
| - return m_IDRules.Lookup((void*)(uintptr_t)dwIDHash, pData)
|
| - ? (FDE_CSSRuleData*)pData
|
| - : nullptr;
|
| + auto it = m_IDRules.find(dwIDHash);
|
| + return it != m_IDRules.end() ? it->second : nullptr;
|
| }
|
| - FDE_CSSRuleData* GetTagRuleData(uint32_t dwTagHasn) {
|
| - void* pData;
|
| - return m_TagRules.Lookup((void*)(uintptr_t)dwTagHasn, pData)
|
| - ? (FDE_CSSRuleData*)pData
|
| - : nullptr;
|
| +
|
| + FDE_CSSRuleData* GetTagRuleData(uint32_t dwTagHash) {
|
| + auto it = m_TagRules.find(dwTagHash);
|
| + return it != m_TagRules.end() ? it->second : nullptr;
|
| }
|
| +
|
| FDE_CSSRuleData* GetClassRuleData(uint32_t dwIDHash) {
|
| - void* pData;
|
| - return m_ClassRules.Lookup((void*)(uintptr_t)dwIDHash, pData)
|
| - ? (FDE_CSSRuleData*)pData
|
| - : nullptr;
|
| + auto it = m_ClassRules.find(dwIDHash);
|
| + return it != m_ClassRules.end() ? it->second : nullptr;
|
| }
|
| +
|
| FDE_CSSRuleData* GetUniversalRuleData() { return m_pUniversalRules; }
|
| - FDE_CSSRuleData* GetPersudoRuleData() { return m_pPersudoRules; }
|
| + FDE_CSSRuleData* GetPseudoRuleData() { return m_pPseudoRules; }
|
|
|
| IFX_MemoryAllocator* m_pStaticStore;
|
|
|
| @@ -71,18 +69,19 @@ class CFDE_CSSRuleCollection : public CFX_Target {
|
| IFDE_CSSRule* pRule,
|
| uint32_t dwMediaList,
|
| CFGAS_FontMgr* pFontMgr);
|
| - void AddRuleTo(CFX_MapPtrToPtr& map,
|
| + void AddRuleTo(std::map<uint32_t, FDE_CSSRuleData*>* pMap,
|
| uint32_t dwKey,
|
| CFDE_CSSSelector* pSel,
|
| CFDE_CSSDeclaration* pDecl);
|
| - bool AddRuleTo(FDE_CSSRuleData*& pList, FDE_CSSRuleData* pData);
|
| + bool AddRuleTo(FDE_CSSRuleData** pList, FDE_CSSRuleData* pData);
|
| FDE_CSSRuleData* NewRuleData(CFDE_CSSSelector* pSel,
|
| CFDE_CSSDeclaration* pDecl);
|
| - CFX_MapPtrToPtr m_IDRules;
|
| - CFX_MapPtrToPtr m_TagRules;
|
| - CFX_MapPtrToPtr m_ClassRules;
|
| +
|
| + std::map<uint32_t, FDE_CSSRuleData*> m_IDRules;
|
| + std::map<uint32_t, FDE_CSSRuleData*> m_TagRules;
|
| + std::map<uint32_t, FDE_CSSRuleData*> m_ClassRules;
|
| FDE_CSSRuleData* m_pUniversalRules;
|
| - FDE_CSSRuleData* m_pPersudoRules;
|
| + FDE_CSSRuleData* m_pPseudoRules;
|
| int32_t m_iSelectors;
|
| };
|
|
|
| @@ -104,7 +103,7 @@ class CFDE_CSSStyleSelector : public CFX_Target {
|
| IFDE_CSSComputedStyle* pParentStyle);
|
| int32_t MatchDeclarations(CXFA_CSSTagProvider* pTag,
|
| CFDE_CSSDeclarationArray& matchedDecls,
|
| - FDE_CSSPERSUDO ePersudoType = FDE_CSSPERSUDO_NONE);
|
| + FDE_CSSPSEUDO ePseudoType = FDE_CSSPSEUDO_NONE);
|
| void ComputeStyle(CXFA_CSSTagProvider* pTag,
|
| const CFDE_CSSDeclaration** ppDeclArray,
|
| int32_t iDeclCount,
|
| @@ -114,10 +113,10 @@ class CFDE_CSSStyleSelector : public CFX_Target {
|
| void Reset();
|
| void MatchRules(FDE_CSSTagCache* pCache,
|
| FDE_CSSRuleData* pList,
|
| - FDE_CSSPERSUDO ePersudoType);
|
| + FDE_CSSPSEUDO ePseudoType);
|
| bool MatchSelector(FDE_CSSTagCache* pCache,
|
| CFDE_CSSSelector* pSel,
|
| - FDE_CSSPERSUDO ePersudoType);
|
| + FDE_CSSPSEUDO ePseudoType);
|
| void AppendInlineStyle(CFDE_CSSDeclaration* pDecl,
|
| const FX_WCHAR* psz,
|
| int32_t iLen);
|
|
|