| OLD | NEW |
| 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 { | 70 { |
| 71 if (derefBase()) | 71 if (derefBase()) |
| 72 destroy(); | 72 destroy(); |
| 73 } | 73 } |
| 74 #endif // !ENABLE(OILPAN) | 74 #endif // !ENABLE(OILPAN) |
| 75 | 75 |
| 76 // FIXME: There shouldn't be any need for the null parent version. | 76 // FIXME: There shouldn't be any need for the null parent version. |
| 77 PassRefPtrWillBeRawPtr<CSSRule> createCSSOMWrapper(CSSStyleSheet* parentShee
t = 0) const; | 77 PassRefPtrWillBeRawPtr<CSSRule> createCSSOMWrapper(CSSStyleSheet* parentShee
t = 0) const; |
| 78 PassRefPtrWillBeRawPtr<CSSRule> createCSSOMWrapper(CSSRule* parentRule) cons
t; | 78 PassRefPtrWillBeRawPtr<CSSRule> createCSSOMWrapper(CSSRule* parentRule) cons
t; |
| 79 | 79 |
| 80 void trace(Visitor*); | 80 DECLARE_TRACE(); |
| 81 void traceAfterDispatch(Visitor*) { }; | 81 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { }; |
| 82 void finalizeGarbageCollectedObject(); | 82 void finalizeGarbageCollectedObject(); |
| 83 | 83 |
| 84 protected: | 84 protected: |
| 85 StyleRuleBase(Type type) : m_type(type) { } | 85 StyleRuleBase(Type type) : m_type(type) { } |
| 86 StyleRuleBase(const StyleRuleBase& o) : m_type(o.m_type) { } | 86 StyleRuleBase(const StyleRuleBase& o) : m_type(o.m_type) { } |
| 87 | 87 |
| 88 ~StyleRuleBase() { } | 88 ~StyleRuleBase() { } |
| 89 | 89 |
| 90 private: | 90 private: |
| 91 void destroy(); | 91 void destroy(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 107 MutableStylePropertySet& mutableProperties(); | 107 MutableStylePropertySet& mutableProperties(); |
| 108 | 108 |
| 109 void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors
) { m_selectorList.adoptSelectorVector(selectors); } | 109 void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors
) { m_selectorList.adoptSelectorVector(selectors); } |
| 110 void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.a
dopt(selectors); } | 110 void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.a
dopt(selectors); } |
| 111 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); | 111 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); |
| 112 | 112 |
| 113 PassRefPtrWillBeRawPtr<StyleRule> copy() const { return adoptRefWillBeNoop(n
ew StyleRule(*this)); } | 113 PassRefPtrWillBeRawPtr<StyleRule> copy() const { return adoptRefWillBeNoop(n
ew StyleRule(*this)); } |
| 114 | 114 |
| 115 static unsigned averageSizeInBytes(); | 115 static unsigned averageSizeInBytes(); |
| 116 | 116 |
| 117 void traceAfterDispatch(Visitor*); | 117 DECLARE_TRACE_AFTER_DISPATCH(); |
| 118 | 118 |
| 119 private: | 119 private: |
| 120 StyleRule(); | 120 StyleRule(); |
| 121 StyleRule(const StyleRule&); | 121 StyleRule(const StyleRule&); |
| 122 | 122 |
| 123 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. | 123 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. |
| 124 CSSSelectorList m_selectorList; | 124 CSSSelectorList m_selectorList; |
| 125 }; | 125 }; |
| 126 | 126 |
| 127 class StyleRuleFontFace : public StyleRuleBase { | 127 class StyleRuleFontFace : public StyleRuleBase { |
| 128 public: | 128 public: |
| 129 static PassRefPtrWillBeRawPtr<StyleRuleFontFace> create() { return adoptRefW
illBeNoop(new StyleRuleFontFace); } | 129 static PassRefPtrWillBeRawPtr<StyleRuleFontFace> create() { return adoptRefW
illBeNoop(new StyleRuleFontFace); } |
| 130 | 130 |
| 131 ~StyleRuleFontFace(); | 131 ~StyleRuleFontFace(); |
| 132 | 132 |
| 133 const StylePropertySet& properties() const { return *m_properties; } | 133 const StylePropertySet& properties() const { return *m_properties; } |
| 134 MutableStylePropertySet& mutableProperties(); | 134 MutableStylePropertySet& mutableProperties(); |
| 135 | 135 |
| 136 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); | 136 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); |
| 137 | 137 |
| 138 PassRefPtrWillBeRawPtr<StyleRuleFontFace> copy() const { return adoptRefWill
BeNoop(new StyleRuleFontFace(*this)); } | 138 PassRefPtrWillBeRawPtr<StyleRuleFontFace> copy() const { return adoptRefWill
BeNoop(new StyleRuleFontFace(*this)); } |
| 139 | 139 |
| 140 void traceAfterDispatch(Visitor*); | 140 DECLARE_TRACE_AFTER_DISPATCH(); |
| 141 | 141 |
| 142 private: | 142 private: |
| 143 StyleRuleFontFace(); | 143 StyleRuleFontFace(); |
| 144 StyleRuleFontFace(const StyleRuleFontFace&); | 144 StyleRuleFontFace(const StyleRuleFontFace&); |
| 145 | 145 |
| 146 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. | 146 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. |
| 147 }; | 147 }; |
| 148 | 148 |
| 149 class StyleRulePage : public StyleRuleBase { | 149 class StyleRulePage : public StyleRuleBase { |
| 150 public: | 150 public: |
| 151 static PassRefPtrWillBeRawPtr<StyleRulePage> create() { return adoptRefWillB
eNoop(new StyleRulePage); } | 151 static PassRefPtrWillBeRawPtr<StyleRulePage> create() { return adoptRefWillB
eNoop(new StyleRulePage); } |
| 152 | 152 |
| 153 ~StyleRulePage(); | 153 ~StyleRulePage(); |
| 154 | 154 |
| 155 const CSSSelector* selector() const { return m_selectorList.first(); } | 155 const CSSSelector* selector() const { return m_selectorList.first(); } |
| 156 const StylePropertySet& properties() const { return *m_properties; } | 156 const StylePropertySet& properties() const { return *m_properties; } |
| 157 MutableStylePropertySet& mutableProperties(); | 157 MutableStylePropertySet& mutableProperties(); |
| 158 | 158 |
| 159 void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors
) { m_selectorList.adoptSelectorVector(selectors); } | 159 void parserAdoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectors
) { m_selectorList.adoptSelectorVector(selectors); } |
| 160 void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.a
dopt(selectors); } | 160 void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList.a
dopt(selectors); } |
| 161 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); | 161 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); |
| 162 | 162 |
| 163 PassRefPtrWillBeRawPtr<StyleRulePage> copy() const { return adoptRefWillBeNo
op(new StyleRulePage(*this)); } | 163 PassRefPtrWillBeRawPtr<StyleRulePage> copy() const { return adoptRefWillBeNo
op(new StyleRulePage(*this)); } |
| 164 | 164 |
| 165 void traceAfterDispatch(Visitor*); | 165 DECLARE_TRACE_AFTER_DISPATCH(); |
| 166 | 166 |
| 167 private: | 167 private: |
| 168 StyleRulePage(); | 168 StyleRulePage(); |
| 169 StyleRulePage(const StyleRulePage&); | 169 StyleRulePage(const StyleRulePage&); |
| 170 | 170 |
| 171 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. | 171 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null. |
| 172 CSSSelectorList m_selectorList; | 172 CSSSelectorList m_selectorList; |
| 173 }; | 173 }; |
| 174 | 174 |
| 175 class StyleRuleGroup : public StyleRuleBase { | 175 class StyleRuleGroup : public StyleRuleBase { |
| 176 public: | 176 public: |
| 177 const WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& childRules() con
st { return m_childRules; } | 177 const WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& childRules() con
st { return m_childRules; } |
| 178 | 178 |
| 179 void wrapperInsertRule(unsigned, PassRefPtrWillBeRawPtr<StyleRuleBase>); | 179 void wrapperInsertRule(unsigned, PassRefPtrWillBeRawPtr<StyleRuleBase>); |
| 180 void wrapperRemoveRule(unsigned); | 180 void wrapperRemoveRule(unsigned); |
| 181 | 181 |
| 182 void traceAfterDispatch(Visitor*); | 182 DECLARE_TRACE_AFTER_DISPATCH(); |
| 183 | 183 |
| 184 protected: | 184 protected: |
| 185 StyleRuleGroup(Type, WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& a
doptRule); | 185 StyleRuleGroup(Type, WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& a
doptRule); |
| 186 StyleRuleGroup(const StyleRuleGroup&); | 186 StyleRuleGroup(const StyleRuleGroup&); |
| 187 | 187 |
| 188 private: | 188 private: |
| 189 WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> > m_childRules; | 189 WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> > m_childRules; |
| 190 }; | 190 }; |
| 191 | 191 |
| 192 class StyleRuleMedia : public StyleRuleGroup { | 192 class StyleRuleMedia : public StyleRuleGroup { |
| 193 public: | 193 public: |
| 194 static PassRefPtrWillBeRawPtr<StyleRuleMedia> create(PassRefPtrWillBeRawPtr<
MediaQuerySet> media, WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& adop
tRules) | 194 static PassRefPtrWillBeRawPtr<StyleRuleMedia> create(PassRefPtrWillBeRawPtr<
MediaQuerySet> media, WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& adop
tRules) |
| 195 { | 195 { |
| 196 return adoptRefWillBeNoop(new StyleRuleMedia(media, adoptRules)); | 196 return adoptRefWillBeNoop(new StyleRuleMedia(media, adoptRules)); |
| 197 } | 197 } |
| 198 | 198 |
| 199 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } | 199 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } |
| 200 | 200 |
| 201 PassRefPtrWillBeRawPtr<StyleRuleMedia> copy() const { return adoptRefWillBeN
oop(new StyleRuleMedia(*this)); } | 201 PassRefPtrWillBeRawPtr<StyleRuleMedia> copy() const { return adoptRefWillBeN
oop(new StyleRuleMedia(*this)); } |
| 202 | 202 |
| 203 void traceAfterDispatch(Visitor*); | 203 DECLARE_TRACE_AFTER_DISPATCH(); |
| 204 | 204 |
| 205 private: | 205 private: |
| 206 StyleRuleMedia(PassRefPtrWillBeRawPtr<MediaQuerySet>, WillBeHeapVector<RefPt
rWillBeMember<StyleRuleBase> >& adoptRules); | 206 StyleRuleMedia(PassRefPtrWillBeRawPtr<MediaQuerySet>, WillBeHeapVector<RefPt
rWillBeMember<StyleRuleBase> >& adoptRules); |
| 207 StyleRuleMedia(const StyleRuleMedia&); | 207 StyleRuleMedia(const StyleRuleMedia&); |
| 208 | 208 |
| 209 RefPtrWillBeMember<MediaQuerySet> m_mediaQueries; | 209 RefPtrWillBeMember<MediaQuerySet> m_mediaQueries; |
| 210 }; | 210 }; |
| 211 | 211 |
| 212 class StyleRuleSupports : public StyleRuleGroup { | 212 class StyleRuleSupports : public StyleRuleGroup { |
| 213 public: | 213 public: |
| 214 static PassRefPtrWillBeRawPtr<StyleRuleSupports> create(const String& condit
ionText, bool conditionIsSupported, WillBeHeapVector<RefPtrWillBeMember<StyleRul
eBase> >& adoptRules) | 214 static PassRefPtrWillBeRawPtr<StyleRuleSupports> create(const String& condit
ionText, bool conditionIsSupported, WillBeHeapVector<RefPtrWillBeMember<StyleRul
eBase> >& adoptRules) |
| 215 { | 215 { |
| 216 return adoptRefWillBeNoop(new StyleRuleSupports(conditionText, condition
IsSupported, adoptRules)); | 216 return adoptRefWillBeNoop(new StyleRuleSupports(conditionText, condition
IsSupported, adoptRules)); |
| 217 } | 217 } |
| 218 | 218 |
| 219 String conditionText() const { return m_conditionText; } | 219 String conditionText() const { return m_conditionText; } |
| 220 bool conditionIsSupported() const { return m_conditionIsSupported; } | 220 bool conditionIsSupported() const { return m_conditionIsSupported; } |
| 221 PassRefPtrWillBeRawPtr<StyleRuleSupports> copy() const { return adoptRefWill
BeNoop(new StyleRuleSupports(*this)); } | 221 PassRefPtrWillBeRawPtr<StyleRuleSupports> copy() const { return adoptRefWill
BeNoop(new StyleRuleSupports(*this)); } |
| 222 | 222 |
| 223 void traceAfterDispatch(Visitor* visitor) { StyleRuleGroup::traceAfterDispat
ch(visitor); } | 223 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { StyleRuleGroup::traceAfterDispatch(vi
sitor); } |
| 224 | 224 |
| 225 private: | 225 private: |
| 226 StyleRuleSupports(const String& conditionText, bool conditionIsSupported, Wi
llBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& adoptRules); | 226 StyleRuleSupports(const String& conditionText, bool conditionIsSupported, Wi
llBeHeapVector<RefPtrWillBeMember<StyleRuleBase> >& adoptRules); |
| 227 StyleRuleSupports(const StyleRuleSupports&); | 227 StyleRuleSupports(const StyleRuleSupports&); |
| 228 | 228 |
| 229 String m_conditionText; | 229 String m_conditionText; |
| 230 bool m_conditionIsSupported; | 230 bool m_conditionIsSupported; |
| 231 }; | 231 }; |
| 232 | 232 |
| 233 class StyleRuleViewport : public StyleRuleBase { | 233 class StyleRuleViewport : public StyleRuleBase { |
| 234 public: | 234 public: |
| 235 static PassRefPtrWillBeRawPtr<StyleRuleViewport> create() { return adoptRefW
illBeNoop(new StyleRuleViewport); } | 235 static PassRefPtrWillBeRawPtr<StyleRuleViewport> create() { return adoptRefW
illBeNoop(new StyleRuleViewport); } |
| 236 | 236 |
| 237 ~StyleRuleViewport(); | 237 ~StyleRuleViewport(); |
| 238 | 238 |
| 239 const StylePropertySet& properties() const { return *m_properties; } | 239 const StylePropertySet& properties() const { return *m_properties; } |
| 240 MutableStylePropertySet& mutableProperties(); | 240 MutableStylePropertySet& mutableProperties(); |
| 241 | 241 |
| 242 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); | 242 void setProperties(PassRefPtrWillBeRawPtr<StylePropertySet>); |
| 243 | 243 |
| 244 PassRefPtrWillBeRawPtr<StyleRuleViewport> copy() const { return adoptRefWill
BeNoop(new StyleRuleViewport(*this)); } | 244 PassRefPtrWillBeRawPtr<StyleRuleViewport> copy() const { return adoptRefWill
BeNoop(new StyleRuleViewport(*this)); } |
| 245 | 245 |
| 246 void traceAfterDispatch(Visitor*); | 246 DECLARE_TRACE_AFTER_DISPATCH(); |
| 247 | 247 |
| 248 private: | 248 private: |
| 249 StyleRuleViewport(); | 249 StyleRuleViewport(); |
| 250 StyleRuleViewport(const StyleRuleViewport&); | 250 StyleRuleViewport(const StyleRuleViewport&); |
| 251 | 251 |
| 252 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null | 252 RefPtrWillBeMember<StylePropertySet> m_properties; // Cannot be null |
| 253 }; | 253 }; |
| 254 | 254 |
| 255 #define DEFINE_STYLE_RULE_TYPE_CASTS(Type) \ | 255 #define DEFINE_STYLE_RULE_TYPE_CASTS(Type) \ |
| 256 DEFINE_TYPE_CASTS(StyleRule##Type, StyleRuleBase, rule, rule->is##Type##Rule
(), rule.is##Type##Rule()) | 256 DEFINE_TYPE_CASTS(StyleRule##Type, StyleRuleBase, rule, rule->is##Type##Rule
(), rule.is##Type##Rule()) |
| 257 | 257 |
| 258 DEFINE_TYPE_CASTS(StyleRule, StyleRuleBase, rule, rule->isStyleRule(), rule.isSt
yleRule()); | 258 DEFINE_TYPE_CASTS(StyleRule, StyleRuleBase, rule, rule->isStyleRule(), rule.isSt
yleRule()); |
| 259 DEFINE_STYLE_RULE_TYPE_CASTS(FontFace); | 259 DEFINE_STYLE_RULE_TYPE_CASTS(FontFace); |
| 260 DEFINE_STYLE_RULE_TYPE_CASTS(Page); | 260 DEFINE_STYLE_RULE_TYPE_CASTS(Page); |
| 261 DEFINE_STYLE_RULE_TYPE_CASTS(Media); | 261 DEFINE_STYLE_RULE_TYPE_CASTS(Media); |
| 262 DEFINE_STYLE_RULE_TYPE_CASTS(Supports); | 262 DEFINE_STYLE_RULE_TYPE_CASTS(Supports); |
| 263 DEFINE_STYLE_RULE_TYPE_CASTS(Viewport); | 263 DEFINE_STYLE_RULE_TYPE_CASTS(Viewport); |
| 264 | 264 |
| 265 } // namespace blink | 265 } // namespace blink |
| 266 | 266 |
| 267 #endif // StyleRule_h | 267 #endif // StyleRule_h |
| OLD | NEW |