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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 enum StyleSheetUpdateType { | 44 enum StyleSheetUpdateType { |
45 PartialRuleUpdate, | 45 PartialRuleUpdate, |
46 EntireStyleSheetUpdate | 46 EntireStyleSheetUpdate |
47 }; | 47 }; |
48 | 48 |
49 class CSSStyleSheet FINAL : public StyleSheet { | 49 class CSSStyleSheet FINAL : public StyleSheet { |
50 public: | 50 public: |
51 static PassRefPtr<CSSStyleSheet> create(PassRefPtr<StyleSheetContents>, CSSI
mportRule* ownerRule = 0); | 51 static PassRefPtr<CSSStyleSheet> create(PassRefPtr<StyleSheetContents>, CSSI
mportRule* ownerRule = 0); |
52 static PassRefPtr<CSSStyleSheet> create(PassRefPtr<StyleSheetContents>, Node
* ownerNode); | 52 static PassRefPtr<CSSStyleSheet> create(PassRefPtr<StyleSheetContents>, Node
* ownerNode); |
53 static PassRefPtr<CSSStyleSheet> createInline(Node*, const KURL&, const Text
Position& startPosition = TextPosition::minimumPosition(), const String& encodin
g = String()); | 53 static PassRefPtr<CSSStyleSheet> createInline(Node*, const KURL&, const Text
Position& startPosition = TextPosition::minimumPosition(), const String& encodin
g = String()); |
| 54 static PassRefPtr<CSSStyleSheet> createInline(PassRefPtr<StyleSheetContents>
, Node* ownerNode, const TextPosition& startPosition = TextPosition::minimumPosi
tion()); |
54 | 55 |
55 virtual ~CSSStyleSheet(); | 56 virtual ~CSSStyleSheet(); |
56 | 57 |
57 virtual CSSStyleSheet* parentStyleSheet() const OVERRIDE; | 58 virtual CSSStyleSheet* parentStyleSheet() const OVERRIDE; |
58 virtual Node* ownerNode() const OVERRIDE { return m_ownerNode; } | 59 virtual Node* ownerNode() const OVERRIDE { return m_ownerNode; } |
59 virtual MediaList* media() const OVERRIDE; | 60 virtual MediaList* media() const OVERRIDE; |
60 virtual String href() const OVERRIDE; | 61 virtual String href() const OVERRIDE; |
61 virtual String title() const OVERRIDE { return m_title; } | 62 virtual String title() const OVERRIDE { return m_title; } |
62 virtual bool disabled() const OVERRIDE { return m_isDisabled; } | 63 virtual bool disabled() const OVERRIDE { return m_isDisabled; } |
63 virtual void setDisabled(bool) OVERRIDE; | 64 virtual void setDisabled(bool) OVERRIDE; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 void didMutateRules(); | 104 void didMutateRules(); |
104 void didMutate(StyleSheetUpdateType = PartialRuleUpdate); | 105 void didMutate(StyleSheetUpdateType = PartialRuleUpdate); |
105 | 106 |
106 void clearChildRuleCSSOMWrappers(); | 107 void clearChildRuleCSSOMWrappers(); |
107 | 108 |
108 StyleSheetContents* contents() const { return m_contents.get(); } | 109 StyleSheetContents* contents() const { return m_contents.get(); } |
109 | 110 |
110 bool isInline() const { return m_isInlineStylesheet; } | 111 bool isInline() const { return m_isInlineStylesheet; } |
111 TextPosition startPositionInSource() const { return m_startPosition; } | 112 TextPosition startPositionInSource() const { return m_startPosition; } |
112 | 113 |
| 114 bool sheetLoaded(); |
| 115 bool loadCompleted() const { return m_loadCompleted; } |
| 116 void startLoadingDynamicSheet(); |
| 117 |
113 private: | 118 private: |
114 CSSStyleSheet(PassRefPtr<StyleSheetContents>, CSSImportRule* ownerRule); | 119 CSSStyleSheet(PassRefPtr<StyleSheetContents>, CSSImportRule* ownerRule); |
115 CSSStyleSheet(PassRefPtr<StyleSheetContents>, Node* ownerNode, bool isInline
Stylesheet, const TextPosition& startPosition); | 120 CSSStyleSheet(PassRefPtr<StyleSheetContents>, Node* ownerNode, bool isInline
Stylesheet, const TextPosition& startPosition); |
116 | 121 |
117 virtual bool isCSSStyleSheet() const OVERRIDE { return true; } | 122 virtual bool isCSSStyleSheet() const OVERRIDE { return true; } |
118 virtual String type() const OVERRIDE { return "text/css"; } | 123 virtual String type() const OVERRIDE { return "text/css"; } |
119 | 124 |
120 void reattachChildRuleCSSOMWrappers(); | 125 void reattachChildRuleCSSOMWrappers(); |
121 | 126 |
122 bool canAccessRules() const; | 127 bool canAccessRules() const; |
123 | 128 |
124 RefPtr<StyleSheetContents> m_contents; | 129 RefPtr<StyleSheetContents> m_contents; |
125 bool m_isInlineStylesheet; | 130 bool m_isInlineStylesheet; |
126 bool m_isDisabled; | 131 bool m_isDisabled; |
127 String m_title; | 132 String m_title; |
128 RefPtr<MediaQuerySet> m_mediaQueries; | 133 RefPtr<MediaQuerySet> m_mediaQueries; |
129 | 134 |
130 Node* m_ownerNode; | 135 Node* m_ownerNode; |
131 CSSRule* m_ownerRule; | 136 CSSRule* m_ownerRule; |
132 | 137 |
133 TextPosition m_startPosition; | 138 TextPosition m_startPosition; |
| 139 bool m_loadCompleted; |
134 | 140 |
135 mutable RefPtr<MediaList> m_mediaCSSOMWrapper; | 141 mutable RefPtr<MediaList> m_mediaCSSOMWrapper; |
136 mutable Vector<RefPtr<CSSRule> > m_childRuleCSSOMWrappers; | 142 mutable Vector<RefPtr<CSSRule> > m_childRuleCSSOMWrappers; |
137 mutable OwnPtr<CSSRuleList> m_ruleListCSSOMWrapper; | 143 mutable OwnPtr<CSSRuleList> m_ruleListCSSOMWrapper; |
138 }; | 144 }; |
139 | 145 |
140 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSStyleSheet* sheet) | 146 inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSStyleSheet* sheet) |
141 : m_styleSheet(sheet) | 147 : m_styleSheet(sheet) |
142 { | 148 { |
143 if (m_styleSheet) | 149 if (m_styleSheet) |
(...skipping 11 matching lines...) Expand all Loading... |
155 { | 161 { |
156 if (m_styleSheet) | 162 if (m_styleSheet) |
157 m_styleSheet->didMutateRules(); | 163 m_styleSheet->didMutateRules(); |
158 } | 164 } |
159 | 165 |
160 DEFINE_TYPE_CASTS(CSSStyleSheet, StyleSheet, sheet, sheet->isCSSStyleSheet(), sh
eet.isCSSStyleSheet()); | 166 DEFINE_TYPE_CASTS(CSSStyleSheet, StyleSheet, sheet, sheet->isCSSStyleSheet(), sh
eet.isCSSStyleSheet()); |
161 | 167 |
162 } // namespace | 168 } // namespace |
163 | 169 |
164 #endif | 170 #endif |
OLD | NEW |