OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All rights
reserved. | 3 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All rights
reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 CSSRule* item(unsigned index); | 80 CSSRule* item(unsigned index); |
81 | 81 |
82 virtual void clearOwnerNode() OVERRIDE { didMutate(EntireStyleSheetUpdate);
m_ownerNode = 0; } | 82 virtual void clearOwnerNode() OVERRIDE { didMutate(EntireStyleSheetUpdate);
m_ownerNode = 0; } |
83 virtual CSSRule* ownerRule() const OVERRIDE { return m_ownerRule; } | 83 virtual CSSRule* ownerRule() const OVERRIDE { return m_ownerRule; } |
84 virtual KURL baseURL() const OVERRIDE; | 84 virtual KURL baseURL() const OVERRIDE; |
85 virtual bool isLoading() const OVERRIDE; | 85 virtual bool isLoading() const OVERRIDE; |
86 | 86 |
87 void clearOwnerRule() { m_ownerRule = 0; } | 87 void clearOwnerRule() { m_ownerRule = 0; } |
88 Document* ownerDocument() const; | 88 Document* ownerDocument() const; |
89 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } | 89 MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); } |
90 void setMediaQueries(PassRefPtr<MediaQuerySet>); | 90 void setMediaQueries(PassRefPtrWillBeRawPtr<MediaQuerySet>); |
91 void setTitle(const String& title) { m_title = title; } | 91 void setTitle(const String& title) { m_title = title; } |
92 | 92 |
93 class RuleMutationScope { | 93 class RuleMutationScope { |
94 WTF_MAKE_NONCOPYABLE(RuleMutationScope); | 94 WTF_MAKE_NONCOPYABLE(RuleMutationScope); |
95 public: | 95 public: |
96 RuleMutationScope(CSSStyleSheet*); | 96 RuleMutationScope(CSSStyleSheet*); |
97 RuleMutationScope(CSSRule*); | 97 RuleMutationScope(CSSRule*); |
98 ~RuleMutationScope(); | 98 ~RuleMutationScope(); |
99 | 99 |
100 private: | 100 private: |
(...skipping 23 matching lines...) Expand all Loading... |
124 virtual String type() const OVERRIDE { return "text/css"; } | 124 virtual String type() const OVERRIDE { return "text/css"; } |
125 | 125 |
126 void reattachChildRuleCSSOMWrappers(); | 126 void reattachChildRuleCSSOMWrappers(); |
127 | 127 |
128 bool canAccessRules() const; | 128 bool canAccessRules() const; |
129 | 129 |
130 RefPtrWillBePersistent<StyleSheetContents> m_contents; | 130 RefPtrWillBePersistent<StyleSheetContents> m_contents; |
131 bool m_isInlineStylesheet; | 131 bool m_isInlineStylesheet; |
132 bool m_isDisabled; | 132 bool m_isDisabled; |
133 String m_title; | 133 String m_title; |
134 RefPtr<MediaQuerySet> m_mediaQueries; | 134 RefPtrWillBePersistent<MediaQuerySet> m_mediaQueries; |
135 | 135 |
136 Node* m_ownerNode; | 136 Node* m_ownerNode; |
137 // FIXME: oilpan: This is a back pointer from CSSImportRule, corresponding | 137 // FIXME: oilpan: This is a back pointer from CSSImportRule, corresponding |
138 // to the forward pointer on that, called m_styleSheetCSSOMWrapper. (It is | 138 // to the forward pointer on that, called m_styleSheetCSSOMWrapper. (It is |
139 // not related to the m_parentStyleSheet pointer which is also typed as | 139 // not related to the m_parentStyleSheet pointer which is also typed as |
140 // CSSStyleSheet, and which is inherited by CSSImportRule from CSSRule). | 140 // CSSStyleSheet, and which is inherited by CSSImportRule from CSSRule). |
141 // Since m_styleSheetCSSOMWrapper is a RefPtr we know that this object | 141 // Since m_styleSheetCSSOMWrapper is a RefPtr we know that this object |
142 // cannot die before the CSSImportRule is destructed, which makes it OK to | 142 // cannot die before the CSSImportRule is destructed, which makes it OK to |
143 // clear this from ~CSSImportRule. When this is on the GC heap we can make | 143 // clear this from ~CSSImportRule. When this is on the GC heap we can make |
144 // this a regular Member. | 144 // this a regular Member. |
145 CSSRule* m_ownerRule; | 145 CSSRule* m_ownerRule; |
146 | 146 |
147 TextPosition m_startPosition; | 147 TextPosition m_startPosition; |
148 bool m_loadCompleted; | 148 bool m_loadCompleted; |
149 | 149 |
150 mutable RefPtr<MediaList> m_mediaCSSOMWrapper; | 150 mutable RefPtrWillBePersistent<MediaList> m_mediaCSSOMWrapper; |
151 mutable WillBePersistentHeapVector<RefPtrWillBeMember<CSSRule> > m_childRule
CSSOMWrappers; | 151 mutable WillBePersistentHeapVector<RefPtrWillBeMember<CSSRule> > m_childRule
CSSOMWrappers; |
152 mutable OwnPtr<CSSRuleList> m_ruleListCSSOMWrapper; | 152 mutable OwnPtr<CSSRuleList> m_ruleListCSSOMWrapper; |
153 }; | 153 }; |
154 | 154 |
155 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSStyleSheet* sheet) | 155 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSStyleSheet* sheet) |
156 : m_styleSheet(sheet) | 156 : m_styleSheet(sheet) |
157 { | 157 { |
158 if (m_styleSheet) | 158 if (m_styleSheet) |
159 m_styleSheet->willMutateRules(); | 159 m_styleSheet->willMutateRules(); |
160 } | 160 } |
161 | 161 |
162 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSRule* rule) | 162 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSRule* rule) |
163 : m_styleSheet(rule ? rule->parentStyleSheet() : 0) | 163 : m_styleSheet(rule ? rule->parentStyleSheet() : 0) |
164 { | 164 { |
165 if (m_styleSheet) | 165 if (m_styleSheet) |
166 m_styleSheet->willMutateRules(); | 166 m_styleSheet->willMutateRules(); |
167 } | 167 } |
168 | 168 |
169 inline CSSStyleSheet::RuleMutationScope::~RuleMutationScope() | 169 inline CSSStyleSheet::RuleMutationScope::~RuleMutationScope() |
170 { | 170 { |
171 if (m_styleSheet) | 171 if (m_styleSheet) |
172 m_styleSheet->didMutateRules(); | 172 m_styleSheet->didMutateRules(); |
173 } | 173 } |
174 | 174 |
175 DEFINE_TYPE_CASTS(CSSStyleSheet, StyleSheet, sheet, sheet->isCSSStyleSheet(), sh
eet.isCSSStyleSheet()); | 175 DEFINE_TYPE_CASTS(CSSStyleSheet, StyleSheet, sheet, sheet->isCSSStyleSheet(), sh
eet.isCSSStyleSheet()); |
176 | 176 |
177 } // namespace | 177 } // namespace |
178 | 178 |
179 #endif | 179 #endif |
OLD | NEW |