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

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

Issue 2072803002: Make code compile with clang_use_chrome_plugin (final) (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 4 years, 6 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 <unordered_map> 10 #include <unordered_map>
11 11
12 #include "core/fxcrt/include/fx_ext.h" 12 #include "core/fxcrt/include/fx_ext.h"
13 #include "xfa/fde/css/fde_cssdeclaration.h" 13 #include "xfa/fde/css/fde_cssdeclaration.h"
14 14
15 class CFDE_CSSSyntaxParser; 15 class CFDE_CSSSyntaxParser;
16 16
17 class CFDE_CSSSelector : public CFX_Target { 17 class CFDE_CSSSelector : public CFX_Target {
18 public: 18 public:
19 CFDE_CSSSelector(FDE_CSSSELECTORTYPE eType, 19 CFDE_CSSSelector(FDE_CSSSELECTORTYPE eType,
20 const FX_WCHAR* psz, 20 const FX_WCHAR* psz,
21 int32_t iLen, 21 int32_t iLen,
22 bool bIgnoreCase) 22 bool bIgnoreCase);
23 : m_eType(eType),
24 m_dwHash(FX_HashCode_GetW(CFX_WideStringC(psz, iLen), bIgnoreCase)),
25 m_pNext(nullptr) {}
26 virtual FDE_CSSSELECTORTYPE GetType() const { return m_eType; }
27 23
28 virtual uint32_t GetNameHash() const { return m_dwHash; } 24 virtual FDE_CSSSELECTORTYPE GetType() const;
25 virtual uint32_t GetNameHash() const;
26 virtual CFDE_CSSSelector* GetNextSelector() const;
29 27
30 virtual CFDE_CSSSelector* GetNextSelector() const { return m_pNext; }
31 static CFDE_CSSSelector* FromString(IFX_MemoryAllocator* pStaticStore, 28 static CFDE_CSSSelector* FromString(IFX_MemoryAllocator* pStaticStore,
32 const FX_WCHAR* psz, 29 const FX_WCHAR* psz,
33 int32_t iLen); 30 int32_t iLen);
31
34 void SetNext(CFDE_CSSSelector* pNext) { m_pNext = pNext; } 32 void SetNext(CFDE_CSSSelector* pNext) { m_pNext = pNext; }
35 33
36 protected: 34 protected:
37 static CFDE_CSSSelector* ParseSelector(IFX_MemoryAllocator* pStaticStore,
38 const FX_WCHAR* psz,
39 int32_t& iOff,
40 int32_t iLen,
41 FDE_CSSSELECTORTYPE eType);
42 void SetType(FDE_CSSSELECTORTYPE eType) { m_eType = eType; } 35 void SetType(FDE_CSSSELECTORTYPE eType) { m_eType = eType; }
36
43 FDE_CSSSELECTORTYPE m_eType; 37 FDE_CSSSELECTORTYPE m_eType;
44 uint32_t m_dwHash; 38 uint32_t m_dwHash;
45 CFDE_CSSSelector* m_pNext; 39 CFDE_CSSSelector* m_pNext;
46 }; 40 };
41
47 typedef CFX_ArrayTemplate<CFDE_CSSSelector*> CFDE_CSSSelectorArray; 42 typedef CFX_ArrayTemplate<CFDE_CSSSelector*> CFDE_CSSSelectorArray;
48 43
49 class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target { 44 class CFDE_CSSStyleRule : public IFDE_CSSStyleRule, public CFX_Target {
50 public: 45 public:
51 CFDE_CSSStyleRule() : m_ppSelector(nullptr), m_iSelectors(0) {} 46 CFDE_CSSStyleRule();
52 int32_t CountSelectorLists() const override { return m_iSelectors; }
53 CFDE_CSSSelector* GetSelectorList(int32_t index) const override {
54 return m_ppSelector[index];
55 }
56 47
57 CFDE_CSSDeclaration* GetDeclaration() override { return &m_Declaration; } 48 // IFDE_CSSStyleRule
49 int32_t CountSelectorLists() const override;
50 CFDE_CSSSelector* GetSelectorList(int32_t index) const override;
51 CFDE_CSSDeclaration* GetDeclaration() override;
52
58 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; } 53 CFDE_CSSDeclaration& GetDeclImp() { return m_Declaration; }
59 void SetSelector(IFX_MemoryAllocator* pStaticStore, 54 void SetSelector(IFX_MemoryAllocator* pStaticStore,
60 const CFDE_CSSSelectorArray& list); 55 const CFDE_CSSSelectorArray& list);
61 56
62 protected: 57 protected:
63 CFDE_CSSDeclaration m_Declaration; 58 CFDE_CSSDeclaration m_Declaration;
64 CFDE_CSSSelector** m_ppSelector; 59 CFDE_CSSSelector** m_ppSelector;
65 int32_t m_iSelectors; 60 int32_t m_iSelectors;
66 }; 61 };
62
67 class CFDE_CSSMediaRule : public IFDE_CSSMediaRule, public CFX_Target { 63 class CFDE_CSSMediaRule : public IFDE_CSSMediaRule, public CFX_Target {
68 public: 64 public:
69 CFDE_CSSMediaRule(uint32_t dwMediaList) : m_dwMediaList(dwMediaList) {} 65 explicit CFDE_CSSMediaRule(uint32_t dwMediaList);
70 ~CFDE_CSSMediaRule(); 66 ~CFDE_CSSMediaRule() override;
71 67
72 virtual uint32_t GetMediaList() const { return m_dwMediaList; } 68 // IFDE_CSSMediaRule
69 uint32_t GetMediaList() const override;
70 int32_t CountRules() const override;
71 IFDE_CSSRule* GetRule(int32_t index) override;
73 72
74 virtual int32_t CountRules() const { return m_RuleArray.GetSize(); }
75 virtual IFDE_CSSRule* GetRule(int32_t index) {
76 return m_RuleArray.GetAt(index);
77 }
78 CFDE_CSSRuleArray& GetArray() { return m_RuleArray; } 73 CFDE_CSSRuleArray& GetArray() { return m_RuleArray; }
79 74
80 protected: 75 protected:
81 uint32_t m_dwMediaList; 76 uint32_t m_dwMediaList;
82 CFDE_CSSRuleArray m_RuleArray; 77 CFDE_CSSRuleArray m_RuleArray;
83 }; 78 };
79
84 class CFDE_CSSFontFaceRule : public IFDE_CSSFontFaceRule, public CFX_Target { 80 class CFDE_CSSFontFaceRule : public IFDE_CSSFontFaceRule, public CFX_Target {
85 public: 81 public:
86 CFDE_CSSDeclaration* GetDeclaration() override { return &m_Declaration; } 82 // IFDE_CSSFontFaceRule
83 CFDE_CSSDeclaration* GetDeclaration() override;
84
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 };
90
92 #define FDE_CSSSWITCHDEFAULTS() \ 91 #define FDE_CSSSWITCHDEFAULTS() \
93 case FDE_CSSSYNTAXSTATUS_EOS: \ 92 case FDE_CSSSYNTAXSTATUS_EOS: \
94 return FDE_CSSSYNTAXSTATUS_EOS; \ 93 return FDE_CSSSYNTAXSTATUS_EOS; \
95 case FDE_CSSSYNTAXSTATUS_Error: \ 94 case FDE_CSSSYNTAXSTATUS_Error: \
96 default: \ 95 default: \
97 return FDE_CSSSYNTAXSTATUS_Error; 96 return FDE_CSSSYNTAXSTATUS_Error;
97
98 class CFDE_CSSStyleSheet : public IFDE_CSSStyleSheet, public CFX_Target { 98 class CFDE_CSSStyleSheet : public IFDE_CSSStyleSheet, public CFX_Target {
99 public: 99 public:
100 CFDE_CSSStyleSheet(uint32_t dwMediaList); 100 CFDE_CSSStyleSheet(uint32_t dwMediaList);
101 ~CFDE_CSSStyleSheet() override; 101 ~CFDE_CSSStyleSheet() override;
102 102
103 // IFX_Retainable: 103 // IFX_Retainable:
104 uint32_t Retain() override; 104 uint32_t Retain() override;
105 uint32_t Release() override; 105 uint32_t Release() override;
106 106
107 // IFDE_CSSStyleSheet: 107 // IFDE_CSSStyleSheet:
108 FX_BOOL GetUrl(CFX_WideString& szUrl) override { 108 FX_BOOL GetUrl(CFX_WideString& szUrl) override;
109 szUrl = m_szUrl; 109 uint32_t GetMediaList() const override;
110 return szUrl.GetLength() > 0; 110 uint16_t GetCodePage() const override;
111 }
112 uint32_t GetMediaList() const override { return m_dwMediaList; }
113 uint16_t GetCodePage() const override { return m_wCodePage; }
114 int32_t CountRules() const override; 111 int32_t CountRules() const override;
115 IFDE_CSSRule* GetRule(int32_t index) override; 112 IFDE_CSSRule* GetRule(int32_t index) override;
116 113
117 FX_BOOL LoadFromStream(const CFX_WideString& szUrl, 114 FX_BOOL LoadFromStream(const CFX_WideString& szUrl,
118 IFX_Stream* pStream, 115 IFX_Stream* pStream,
119 uint16_t wCodePage); 116 uint16_t wCodePage);
120 FX_BOOL LoadFromBuffer(const CFX_WideString& szUrl, 117 FX_BOOL LoadFromBuffer(const CFX_WideString& szUrl,
121 const FX_WCHAR* pBuffer, 118 const FX_WCHAR* pBuffer,
122 int32_t iBufSize, 119 int32_t iBufSize,
123 uint16_t wCodePage); 120 uint16_t wCodePage);
(...skipping 13 matching lines...) Expand all
137 uint16_t m_wRefCount; 134 uint16_t m_wRefCount;
138 uint32_t m_dwMediaList; 135 uint32_t m_dwMediaList;
139 IFX_MemoryAllocator* m_pAllocator; 136 IFX_MemoryAllocator* m_pAllocator;
140 CFDE_CSSRuleArray m_RuleArray; 137 CFDE_CSSRuleArray m_RuleArray;
141 CFX_WideString m_szUrl; 138 CFX_WideString m_szUrl;
142 CFDE_CSSSelectorArray m_Selectors; 139 CFDE_CSSSelectorArray m_Selectors;
143 std::unordered_map<uint32_t, FX_WCHAR*> m_StringCache; 140 std::unordered_map<uint32_t, FX_WCHAR*> m_StringCache;
144 }; 141 };
145 142
146 #endif // XFA_FDE_CSS_FDE_CSSSTYLESHEET_H_ 143 #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