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

Side by Side Diff: third_party/WebKit/Source/core/css/StyleRule.h

Issue 1858753003: Remove RawPtr from core/css (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 /* 1 /*
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org) 3 * (C) 2002-2003 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2002, 2006, 2008, 2012, 2013 Apple Inc. All rights reserved. 4 * Copyright (C) 2002, 2006, 2008, 2012, 2013 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 bool isKeyframesRule() const { return type() == Keyframes; } 57 bool isKeyframesRule() const { return type() == Keyframes; }
58 bool isKeyframeRule() const { return type() == Keyframe; } 58 bool isKeyframeRule() const { return type() == Keyframe; }
59 bool isNamespaceRule() const { return type() == Namespace; } 59 bool isNamespaceRule() const { return type() == Namespace; }
60 bool isMediaRule() const { return type() == Media; } 60 bool isMediaRule() const { return type() == Media; }
61 bool isPageRule() const { return type() == Page; } 61 bool isPageRule() const { return type() == Page; }
62 bool isStyleRule() const { return type() == Style; } 62 bool isStyleRule() const { return type() == Style; }
63 bool isSupportsRule() const { return type() == Supports; } 63 bool isSupportsRule() const { return type() == Supports; }
64 bool isViewportRule() const { return type() == Viewport; } 64 bool isViewportRule() const { return type() == Viewport; }
65 bool isImportRule() const { return type() == Import; } 65 bool isImportRule() const { return type() == Import; }
66 66
67 RawPtr<StyleRuleBase> copy() const; 67 StyleRuleBase* copy() const;
68 68
69 #if !ENABLE(OILPAN) 69 #if !ENABLE(OILPAN)
70 void deref() 70 void deref()
71 { 71 {
72 if (derefBase()) 72 if (derefBase())
73 destroy(); 73 destroy();
74 } 74 }
75 #endif // !ENABLE(OILPAN) 75 #endif // !ENABLE(OILPAN)
76 76
77 // FIXME: There shouldn't be any need for the null parent version. 77 // FIXME: There shouldn't be any need for the null parent version.
78 RawPtr<CSSRule> createCSSOMWrapper(CSSStyleSheet* parentSheet = 0) const; 78 CSSRule* createCSSOMWrapper(CSSStyleSheet* parentSheet = 0) const;
79 RawPtr<CSSRule> createCSSOMWrapper(CSSRule* parentRule) const; 79 CSSRule* createCSSOMWrapper(CSSRule* parentRule) const;
80 80
81 DECLARE_TRACE(); 81 DECLARE_TRACE();
82 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { } 82 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { }
83 void finalizeGarbageCollectedObject(); 83 void finalizeGarbageCollectedObject();
84 84
85 // ~StyleRuleBase should be public, because non-public ~StyleRuleBase 85 // ~StyleRuleBase should be public, because non-public ~StyleRuleBase
86 // causes C2248 error : 'blink::StyleRuleBase::~StyleRuleBase' : cannot 86 // causes C2248 error : 'blink::StyleRuleBase::~StyleRuleBase' : cannot
87 // access protected member declared in class 'blink::StyleRuleBase' when 87 // access protected member declared in class 'blink::StyleRuleBase' when
88 // compiling 'source\wtf\refcounted.h' by using msvc. 88 // compiling 'source\wtf\refcounted.h' by using msvc.
89 ~StyleRuleBase() { } 89 ~StyleRuleBase() { }
90 90
91 protected: 91 protected:
92 StyleRuleBase(RuleType type) : m_type(type) { } 92 StyleRuleBase(RuleType type) : m_type(type) { }
93 StyleRuleBase(const StyleRuleBase& o) : m_type(o.m_type) { } 93 StyleRuleBase(const StyleRuleBase& o) : m_type(o.m_type) { }
94 94
95 private: 95 private:
96 void destroy(); 96 void destroy();
97 97
98 RawPtr<CSSRule> createCSSOMWrapper(CSSStyleSheet* parentSheet, CSSRule* pare ntRule) const; 98 CSSRule* createCSSOMWrapper(CSSStyleSheet* parentSheet, CSSRule* parentRule) const;
99 99
100 unsigned m_type : 5; 100 unsigned m_type : 5;
101 }; 101 };
102 102
103 class CORE_EXPORT StyleRule : public StyleRuleBase { 103 class CORE_EXPORT StyleRule : public StyleRuleBase {
104 public: 104 public:
105 // Adopts the selector list 105 // Adopts the selector list
106 static RawPtr<StyleRule> create(CSSSelectorList selectorList, RawPtr<StylePr opertySet> properties) 106 static StyleRule* create(CSSSelectorList selectorList, StylePropertySet* pro perties)
107 { 107 {
108 return new StyleRule(std::move(selectorList), properties); 108 return new StyleRule(std::move(selectorList), properties);
109 } 109 }
110 110
111 ~StyleRule(); 111 ~StyleRule();
112 112
113 const CSSSelectorList& selectorList() const { return m_selectorList; } 113 const CSSSelectorList& selectorList() const { return m_selectorList; }
114 const StylePropertySet& properties() const { return *m_properties; } 114 const StylePropertySet& properties() const { return *m_properties; }
115 MutableStylePropertySet& mutableProperties(); 115 MutableStylePropertySet& mutableProperties();
116 116
117 void wrapperAdoptSelectorList(CSSSelectorList selectors) { m_selectorList = std::move(selectors); } 117 void wrapperAdoptSelectorList(CSSSelectorList selectors) { m_selectorList = std::move(selectors); }
118 118
119 RawPtr<StyleRule> copy() const { return new StyleRule(*this); } 119 StyleRule* copy() const { return new StyleRule(*this); }
120 120
121 static unsigned averageSizeInBytes(); 121 static unsigned averageSizeInBytes();
122 122
123 DECLARE_TRACE_AFTER_DISPATCH(); 123 DECLARE_TRACE_AFTER_DISPATCH();
124 124
125 private: 125 private:
126 StyleRule(CSSSelectorList, RawPtr<StylePropertySet>); 126 StyleRule(CSSSelectorList, StylePropertySet*);
127 StyleRule(const StyleRule&); 127 StyleRule(const StyleRule&);
128 128
129 Member<StylePropertySet> m_properties; // Cannot be null. 129 Member<StylePropertySet> m_properties; // Cannot be null.
130 CSSSelectorList m_selectorList; 130 CSSSelectorList m_selectorList;
131 }; 131 };
132 132
133 class StyleRuleFontFace : public StyleRuleBase { 133 class StyleRuleFontFace : public StyleRuleBase {
134 public: 134 public:
135 static RawPtr<StyleRuleFontFace> create(RawPtr<StylePropertySet> properties) 135 static StyleRuleFontFace* create(StylePropertySet* properties)
136 { 136 {
137 return new StyleRuleFontFace(properties); 137 return new StyleRuleFontFace(properties);
138 } 138 }
139 139
140 ~StyleRuleFontFace(); 140 ~StyleRuleFontFace();
141 141
142 const StylePropertySet& properties() const { return *m_properties; } 142 const StylePropertySet& properties() const { return *m_properties; }
143 MutableStylePropertySet& mutableProperties(); 143 MutableStylePropertySet& mutableProperties();
144 144
145 RawPtr<StyleRuleFontFace> copy() const { return new StyleRuleFontFace(*this) ; } 145 StyleRuleFontFace* copy() const { return new StyleRuleFontFace(*this); }
146 146
147 DECLARE_TRACE_AFTER_DISPATCH(); 147 DECLARE_TRACE_AFTER_DISPATCH();
148 148
149 private: 149 private:
150 StyleRuleFontFace(RawPtr<StylePropertySet>); 150 StyleRuleFontFace(StylePropertySet*);
151 StyleRuleFontFace(const StyleRuleFontFace&); 151 StyleRuleFontFace(const StyleRuleFontFace&);
152 152
153 Member<StylePropertySet> m_properties; // Cannot be null. 153 Member<StylePropertySet> m_properties; // Cannot be null.
154 }; 154 };
155 155
156 class StyleRulePage : public StyleRuleBase { 156 class StyleRulePage : public StyleRuleBase {
157 public: 157 public:
158 // Adopts the selector list 158 // Adopts the selector list
159 static RawPtr<StyleRulePage> create(CSSSelectorList selectorList, RawPtr<Sty lePropertySet> properties) 159 static StyleRulePage* create(CSSSelectorList selectorList, StylePropertySet* properties)
160 { 160 {
161 return new StyleRulePage(std::move(selectorList), properties); 161 return new StyleRulePage(std::move(selectorList), properties);
162 } 162 }
163 163
164 ~StyleRulePage(); 164 ~StyleRulePage();
165 165
166 const CSSSelector* selector() const { return m_selectorList.first(); } 166 const CSSSelector* selector() const { return m_selectorList.first(); }
167 const StylePropertySet& properties() const { return *m_properties; } 167 const StylePropertySet& properties() const { return *m_properties; }
168 MutableStylePropertySet& mutableProperties(); 168 MutableStylePropertySet& mutableProperties();
169 169
170 void wrapperAdoptSelectorList(CSSSelectorList selectors) { m_selectorList = std::move(selectors); } 170 void wrapperAdoptSelectorList(CSSSelectorList selectors) { m_selectorList = std::move(selectors); }
171 171
172 RawPtr<StyleRulePage> copy() const { return new StyleRulePage(*this); } 172 StyleRulePage* copy() const { return new StyleRulePage(*this); }
173 173
174 DECLARE_TRACE_AFTER_DISPATCH(); 174 DECLARE_TRACE_AFTER_DISPATCH();
175 175
176 private: 176 private:
177 StyleRulePage(CSSSelectorList, RawPtr<StylePropertySet>); 177 StyleRulePage(CSSSelectorList, StylePropertySet*);
178 StyleRulePage(const StyleRulePage&); 178 StyleRulePage(const StyleRulePage&);
179 179
180 Member<StylePropertySet> m_properties; // Cannot be null. 180 Member<StylePropertySet> m_properties; // Cannot be null.
181 CSSSelectorList m_selectorList; 181 CSSSelectorList m_selectorList;
182 }; 182 };
183 183
184 class StyleRuleGroup : public StyleRuleBase { 184 class StyleRuleGroup : public StyleRuleBase {
185 public: 185 public:
186 const HeapVector<Member<StyleRuleBase>>& childRules() const { return m_child Rules; } 186 const HeapVector<Member<StyleRuleBase>>& childRules() const { return m_child Rules; }
187 187
188 void wrapperInsertRule(unsigned, RawPtr<StyleRuleBase>); 188 void wrapperInsertRule(unsigned, StyleRuleBase*);
189 void wrapperRemoveRule(unsigned); 189 void wrapperRemoveRule(unsigned);
190 190
191 DECLARE_TRACE_AFTER_DISPATCH(); 191 DECLARE_TRACE_AFTER_DISPATCH();
192 192
193 protected: 193 protected:
194 StyleRuleGroup(RuleType, HeapVector<Member<StyleRuleBase>>& adoptRule); 194 StyleRuleGroup(RuleType, HeapVector<Member<StyleRuleBase>>& adoptRule);
195 StyleRuleGroup(const StyleRuleGroup&); 195 StyleRuleGroup(const StyleRuleGroup&);
196 196
197 private: 197 private:
198 HeapVector<Member<StyleRuleBase>> m_childRules; 198 HeapVector<Member<StyleRuleBase>> m_childRules;
199 }; 199 };
200 200
201 class StyleRuleMedia : public StyleRuleGroup { 201 class StyleRuleMedia : public StyleRuleGroup {
202 public: 202 public:
203 static RawPtr<StyleRuleMedia> create(RawPtr<MediaQuerySet> media, HeapVector <Member<StyleRuleBase>>& adoptRules) 203 static StyleRuleMedia* create(MediaQuerySet* media, HeapVector<Member<StyleR uleBase>>& adoptRules)
204 { 204 {
205 return new StyleRuleMedia(media, adoptRules); 205 return new StyleRuleMedia(media, adoptRules);
206 } 206 }
207 207
208 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } 208 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); }
209 209
210 RawPtr<StyleRuleMedia> copy() const { return new StyleRuleMedia(*this); } 210 StyleRuleMedia* copy() const { return new StyleRuleMedia(*this); }
211 211
212 DECLARE_TRACE_AFTER_DISPATCH(); 212 DECLARE_TRACE_AFTER_DISPATCH();
213 213
214 private: 214 private:
215 StyleRuleMedia(RawPtr<MediaQuerySet>, HeapVector<Member<StyleRuleBase>>& ado ptRules); 215 StyleRuleMedia(MediaQuerySet*, HeapVector<Member<StyleRuleBase>>& adoptRules );
216 StyleRuleMedia(const StyleRuleMedia&); 216 StyleRuleMedia(const StyleRuleMedia&);
217 217
218 Member<MediaQuerySet> m_mediaQueries; 218 Member<MediaQuerySet> m_mediaQueries;
219 }; 219 };
220 220
221 class StyleRuleSupports : public StyleRuleGroup { 221 class StyleRuleSupports : public StyleRuleGroup {
222 public: 222 public:
223 static RawPtr<StyleRuleSupports> create(const String& conditionText, bool co nditionIsSupported, HeapVector<Member<StyleRuleBase>>& adoptRules) 223 static StyleRuleSupports* create(const String& conditionText, bool condition IsSupported, HeapVector<Member<StyleRuleBase>>& adoptRules)
224 { 224 {
225 return new StyleRuleSupports(conditionText, conditionIsSupported, adoptR ules); 225 return new StyleRuleSupports(conditionText, conditionIsSupported, adoptR ules);
226 } 226 }
227 227
228 String conditionText() const { return m_conditionText; } 228 String conditionText() const { return m_conditionText; }
229 bool conditionIsSupported() const { return m_conditionIsSupported; } 229 bool conditionIsSupported() const { return m_conditionIsSupported; }
230 RawPtr<StyleRuleSupports> copy() const { return new StyleRuleSupports(*this) ; } 230 StyleRuleSupports* copy() const { return new StyleRuleSupports(*this); }
231 231
232 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { StyleRuleGroup::traceAfterDispatch(vi sitor); } 232 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { StyleRuleGroup::traceAfterDispatch(vi sitor); }
233 233
234 private: 234 private:
235 StyleRuleSupports(const String& conditionText, bool conditionIsSupported, He apVector<Member<StyleRuleBase>>& adoptRules); 235 StyleRuleSupports(const String& conditionText, bool conditionIsSupported, He apVector<Member<StyleRuleBase>>& adoptRules);
236 StyleRuleSupports(const StyleRuleSupports&); 236 StyleRuleSupports(const StyleRuleSupports&);
237 237
238 String m_conditionText; 238 String m_conditionText;
239 bool m_conditionIsSupported; 239 bool m_conditionIsSupported;
240 }; 240 };
241 241
242 class StyleRuleViewport : public StyleRuleBase { 242 class StyleRuleViewport : public StyleRuleBase {
243 public: 243 public:
244 static RawPtr<StyleRuleViewport> create(RawPtr<StylePropertySet> properties) 244 static StyleRuleViewport* create(StylePropertySet* properties)
245 { 245 {
246 return new StyleRuleViewport(properties); 246 return new StyleRuleViewport(properties);
247 } 247 }
248 248
249 ~StyleRuleViewport(); 249 ~StyleRuleViewport();
250 250
251 const StylePropertySet& properties() const { return *m_properties; } 251 const StylePropertySet& properties() const { return *m_properties; }
252 MutableStylePropertySet& mutableProperties(); 252 MutableStylePropertySet& mutableProperties();
253 253
254 RawPtr<StyleRuleViewport> copy() const { return new StyleRuleViewport(*this) ; } 254 StyleRuleViewport* copy() const { return new StyleRuleViewport(*this); }
255 255
256 DECLARE_TRACE_AFTER_DISPATCH(); 256 DECLARE_TRACE_AFTER_DISPATCH();
257 257
258 private: 258 private:
259 StyleRuleViewport(RawPtr<StylePropertySet>); 259 StyleRuleViewport(StylePropertySet*);
260 StyleRuleViewport(const StyleRuleViewport&); 260 StyleRuleViewport(const StyleRuleViewport&);
261 261
262 Member<StylePropertySet> m_properties; // Cannot be null 262 Member<StylePropertySet> m_properties; // Cannot be null
263 }; 263 };
264 264
265 // This should only be used within the CSS Parser 265 // This should only be used within the CSS Parser
266 class StyleRuleCharset : public StyleRuleBase { 266 class StyleRuleCharset : public StyleRuleBase {
267 public: 267 public:
268 static RawPtr<StyleRuleCharset> create() { return new StyleRuleCharset(); } 268 static StyleRuleCharset* create() { return new StyleRuleCharset(); }
269 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { StyleRuleBase::traceAfterDispatch(vis itor); } 269 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { StyleRuleBase::traceAfterDispatch(vis itor); }
270 270
271 private: 271 private:
272 StyleRuleCharset() : StyleRuleBase(Charset) { } 272 StyleRuleCharset() : StyleRuleBase(Charset) { }
273 }; 273 };
274 274
275 275
276 #define DEFINE_STYLE_RULE_TYPE_CASTS(Type) \ 276 #define DEFINE_STYLE_RULE_TYPE_CASTS(Type) \
277 DEFINE_TYPE_CASTS(StyleRule##Type, StyleRuleBase, rule, rule->is##Type##Rule (), rule.is##Type##Rule()) 277 DEFINE_TYPE_CASTS(StyleRule##Type, StyleRuleBase, rule, rule->is##Type##Rule (), rule.is##Type##Rule())
278 278
279 DEFINE_TYPE_CASTS(StyleRule, StyleRuleBase, rule, rule->isStyleRule(), rule.isSt yleRule()); 279 DEFINE_TYPE_CASTS(StyleRule, StyleRuleBase, rule, rule->isStyleRule(), rule.isSt yleRule());
280 DEFINE_STYLE_RULE_TYPE_CASTS(FontFace); 280 DEFINE_STYLE_RULE_TYPE_CASTS(FontFace);
281 DEFINE_STYLE_RULE_TYPE_CASTS(Page); 281 DEFINE_STYLE_RULE_TYPE_CASTS(Page);
282 DEFINE_STYLE_RULE_TYPE_CASTS(Media); 282 DEFINE_STYLE_RULE_TYPE_CASTS(Media);
283 DEFINE_STYLE_RULE_TYPE_CASTS(Supports); 283 DEFINE_STYLE_RULE_TYPE_CASTS(Supports);
284 DEFINE_STYLE_RULE_TYPE_CASTS(Viewport); 284 DEFINE_STYLE_RULE_TYPE_CASTS(Viewport);
285 DEFINE_STYLE_RULE_TYPE_CASTS(Charset); 285 DEFINE_STYLE_RULE_TYPE_CASTS(Charset);
286 286
287 } // namespace blink 287 } // namespace blink
288 288
289 #endif // StyleRule_h 289 #endif // StyleRule_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/StylePropertySet.cpp ('k') | third_party/WebKit/Source/core/css/StyleRule.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698