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

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

Issue 1928763002: Cleanup IFDE_CSS interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 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_cssstyleselector.cpp ('k') | xfa/fde/css/fde_cssstylesheet.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 #ifndef XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_ 7 #ifndef XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_
8 #define XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_ 8 #define XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_
9 9
10 #include "core/fxcrt/include/fx_ext.h" 10 #include "core/fxcrt/include/fx_ext.h"
11 #include "xfa/fde/css/fde_cssdeclaration.h" 11 #include "xfa/fde/css/fde_cssdeclaration.h"
12 12
13 class CFDE_CSSSelector : public IFDE_CSSSelector, public CFX_Target { 13 class CFDE_CSSSyntaxParser;
14
15 class CFDE_CSSSelector : public CFX_Target {
14 public: 16 public:
15 CFDE_CSSSelector(FDE_CSSSELECTORTYPE eType, 17 CFDE_CSSSelector(FDE_CSSSELECTORTYPE eType,
16 const FX_WCHAR* psz, 18 const FX_WCHAR* psz,
17 int32_t iLen, 19 int32_t iLen,
18 bool bIgnoreCase) 20 bool bIgnoreCase)
19 : m_eType(eType), 21 : m_eType(eType),
20 m_dwHash(FX_HashCode_GetW(CFX_WideStringC(psz, iLen), bIgnoreCase)), 22 m_dwHash(FX_HashCode_GetW(CFX_WideStringC(psz, iLen), bIgnoreCase)),
21 m_pNext(nullptr) {} 23 m_pNext(nullptr) {}
22 virtual FDE_CSSSELECTORTYPE GetType() const { return m_eType; } 24 virtual FDE_CSSSELECTORTYPE GetType() const { return m_eType; }
23 25
24 virtual uint32_t GetNameHash() const { return m_dwHash; } 26 virtual uint32_t GetNameHash() const { return m_dwHash; }
25 27
26 virtual IFDE_CSSSelector* GetNextSelector() const { return m_pNext; } 28 virtual CFDE_CSSSelector* GetNextSelector() const { return m_pNext; }
27 static IFDE_CSSSelector* FromString(IFX_MEMAllocator* pStaticStore, 29 static CFDE_CSSSelector* FromString(IFX_MEMAllocator* pStaticStore,
28 const FX_WCHAR* psz, 30 const FX_WCHAR* psz,
29 int32_t iLen); 31 int32_t iLen);
30 void SetNext(IFDE_CSSSelector* pNext) { m_pNext = pNext; } 32 void SetNext(CFDE_CSSSelector* pNext) { m_pNext = pNext; }
31 33
32 protected: 34 protected:
33 static CFDE_CSSSelector* ParseSelector(IFX_MEMAllocator* pStaticStore, 35 static CFDE_CSSSelector* ParseSelector(IFX_MEMAllocator* pStaticStore,
34 const FX_WCHAR* psz, 36 const FX_WCHAR* psz,
35 int32_t& iOff, 37 int32_t& iOff,
36 int32_t iLen, 38 int32_t iLen,
37 FDE_CSSSELECTORTYPE eType); 39 FDE_CSSSELECTORTYPE eType);
38 void SetType(FDE_CSSSELECTORTYPE eType) { m_eType = eType; } 40 void SetType(FDE_CSSSELECTORTYPE eType) { m_eType = eType; }
39 FDE_CSSSELECTORTYPE m_eType; 41 FDE_CSSSELECTORTYPE m_eType;
40 uint32_t m_dwHash; 42 uint32_t m_dwHash;
41 IFDE_CSSSelector* m_pNext; 43 CFDE_CSSSelector* m_pNext;
42 }; 44 };
43 typedef CFX_ArrayTemplate<IFDE_CSSSelector*> CFDE_CSSSelectorArray; 45 typedef CFX_ArrayTemplate<CFDE_CSSSelector*> CFDE_CSSSelectorArray;
44 46
45 class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target { 47 class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target {
46 public: 48 public:
47 CFDE_CSSStyleRule() : m_ppSelector(NULL), m_iSelectors(0) {} 49 CFDE_CSSStyleRule() : m_ppSelector(NULL), m_iSelectors(0) {}
48 virtual int32_t CountSelectorLists() const { return m_iSelectors; } 50 int32_t CountSelectorLists() const override { return m_iSelectors; }
49 virtual IFDE_CSSSelector* GetSelectorList(int32_t index) const { 51 CFDE_CSSSelector* GetSelectorList(int32_t index) const override {
50 return m_ppSelector[index]; 52 return m_ppSelector[index];
51 } 53 }
52 54
53 virtual IFDE_CSSDeclaration* GetDeclaration() const { 55 CFDE_CSSDeclaration* GetDeclaration() override { return &m_Declaration; }
54 return (IFDE_CSSDeclaration*)&m_Declaration;
55 }
56 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; } 56 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; }
57 void SetSelector(IFX_MEMAllocator* pStaticStore, 57 void SetSelector(IFX_MEMAllocator* pStaticStore,
58 const CFDE_CSSSelectorArray& list); 58 const CFDE_CSSSelectorArray& list);
59 59
60 protected: 60 protected:
61 CFDE_CSSDeclaration m_Declaration; 61 CFDE_CSSDeclaration m_Declaration;
62 IFDE_CSSSelector** m_ppSelector; 62 CFDE_CSSSelector** m_ppSelector;
63 int32_t m_iSelectors; 63 int32_t m_iSelectors;
64 }; 64 };
65 class CFDE_CSSMediaRule : public IFDE_CSSMediaRule, public CFX_Target { 65 class CFDE_CSSMediaRule : public IFDE_CSSMediaRule, public CFX_Target {
66 public: 66 public:
67 CFDE_CSSMediaRule(uint32_t dwMediaList) : m_dwMediaList(dwMediaList) {} 67 CFDE_CSSMediaRule(uint32_t dwMediaList) : m_dwMediaList(dwMediaList) {}
68 ~CFDE_CSSMediaRule(); 68 ~CFDE_CSSMediaRule();
69 69
70 virtual uint32_t GetMediaList() const { return m_dwMediaList; } 70 virtual uint32_t GetMediaList() const { return m_dwMediaList; }
71 71
72 virtual int32_t CountRules() const { return m_RuleArray.GetSize(); } 72 virtual int32_t CountRules() const { return m_RuleArray.GetSize(); }
73 virtual IFDE_CSSRule* GetRule(int32_t index) { 73 virtual IFDE_CSSRule* GetRule(int32_t index) {
74 return m_RuleArray.GetAt(index); 74 return m_RuleArray.GetAt(index);
75 } 75 }
76 CFDE_CSSRuleArray& GetArray() { return m_RuleArray; } 76 CFDE_CSSRuleArray& GetArray() { return m_RuleArray; }
77 77
78 protected: 78 protected:
79 uint32_t m_dwMediaList; 79 uint32_t m_dwMediaList;
80 CFDE_CSSRuleArray m_RuleArray; 80 CFDE_CSSRuleArray m_RuleArray;
81 }; 81 };
82 class CFDE_CSSFontFaceRule : public IFDE_CSSFontFaceRule, public CFX_Target { 82 class CFDE_CSSFontFaceRule : public IFDE_CSSFontFaceRule, public CFX_Target {
83 public: 83 public:
84 virtual IFDE_CSSDeclaration* GetDeclaration() const { 84 CFDE_CSSDeclaration* GetDeclaration() override { return &m_Declaration; }
85 return (IFDE_CSSDeclaration*)&m_Declaration;
86 }
87 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; } 85 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; }
88 86
89 protected: 87 protected:
90 CFDE_CSSDeclaration m_Declaration; 88 CFDE_CSSDeclaration m_Declaration;
91 }; 89 };
92 #define FDE_CSSSWITCHDEFAULTS() \ 90 #define FDE_CSSSWITCHDEFAULTS() \
93 case FDE_CSSSYNTAXSTATUS_EOS: \ 91 case FDE_CSSSYNTAXSTATUS_EOS: \
94 return FDE_CSSSYNTAXSTATUS_EOS; \ 92 return FDE_CSSSYNTAXSTATUS_EOS; \
95 case FDE_CSSSYNTAXSTATUS_Error: \ 93 case FDE_CSSSYNTAXSTATUS_Error: \
96 default: \ 94 default: \
(...skipping 16 matching lines...) Expand all
113 FX_BOOL LoadFromStream(const CFX_WideString& szUrl, 111 FX_BOOL LoadFromStream(const CFX_WideString& szUrl,
114 IFX_Stream* pStream, 112 IFX_Stream* pStream,
115 uint16_t wCodePage); 113 uint16_t wCodePage);
116 FX_BOOL LoadFromBuffer(const CFX_WideString& szUrl, 114 FX_BOOL LoadFromBuffer(const CFX_WideString& szUrl,
117 const FX_WCHAR* pBuffer, 115 const FX_WCHAR* pBuffer,
118 int32_t iBufSize, 116 int32_t iBufSize,
119 uint16_t wCodePage); 117 uint16_t wCodePage);
120 118
121 protected: 119 protected:
122 void Reset(); 120 void Reset();
123 FX_BOOL LoadFromSyntax(IFDE_CSSSyntaxParser* pSyntax); 121 FX_BOOL LoadFromSyntax(CFDE_CSSSyntaxParser* pSyntax);
124 FDE_CSSSYNTAXSTATUS LoadStyleRule(IFDE_CSSSyntaxParser* pSyntax, 122 FDE_CSSSYNTAXSTATUS LoadStyleRule(CFDE_CSSSyntaxParser* pSyntax,
125 CFDE_CSSRuleArray& ruleArray); 123 CFDE_CSSRuleArray& ruleArray);
126 FDE_CSSSYNTAXSTATUS LoadImportRule(IFDE_CSSSyntaxParser* pSyntax); 124 FDE_CSSSYNTAXSTATUS LoadImportRule(CFDE_CSSSyntaxParser* pSyntax);
127 FDE_CSSSYNTAXSTATUS LoadPageRule(IFDE_CSSSyntaxParser* pSyntax); 125 FDE_CSSSYNTAXSTATUS LoadPageRule(CFDE_CSSSyntaxParser* pSyntax);
128 FDE_CSSSYNTAXSTATUS LoadMediaRule(IFDE_CSSSyntaxParser* pSyntax); 126 FDE_CSSSYNTAXSTATUS LoadMediaRule(CFDE_CSSSyntaxParser* pSyntax);
129 FDE_CSSSYNTAXSTATUS LoadFontFaceRule(IFDE_CSSSyntaxParser* pSyntax, 127 FDE_CSSSYNTAXSTATUS LoadFontFaceRule(CFDE_CSSSyntaxParser* pSyntax,
130 CFDE_CSSRuleArray& ruleArray); 128 CFDE_CSSRuleArray& ruleArray);
131 FDE_CSSSYNTAXSTATUS SkipRuleSet(IFDE_CSSSyntaxParser* pSyntax); 129 FDE_CSSSYNTAXSTATUS SkipRuleSet(CFDE_CSSSyntaxParser* pSyntax);
132 uint16_t m_wCodePage; 130 uint16_t m_wCodePage;
133 uint16_t m_wRefCount; 131 uint16_t m_wRefCount;
134 uint32_t m_dwMediaList; 132 uint32_t m_dwMediaList;
135 IFX_MEMAllocator* m_pAllocator; 133 IFX_MEMAllocator* m_pAllocator;
136 CFDE_CSSRuleArray m_RuleArray; 134 CFDE_CSSRuleArray m_RuleArray;
137 CFX_WideString m_szUrl; 135 CFX_WideString m_szUrl;
138 CFDE_CSSSelectorArray m_Selectors; 136 CFDE_CSSSelectorArray m_Selectors;
139 CFX_MapPtrToPtr m_StringCache; 137 CFX_MapPtrToPtr m_StringCache;
140 }; 138 };
141 139
142 #endif // XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_ 140 #endif // XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_
OLDNEW
« no previous file with comments | « xfa/fde/css/fde_cssstyleselector.cpp ('k') | xfa/fde/css/fde_cssstylesheet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698