OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010, Google Inc. All rights reserved. | 2 * Copyright (C) 2010, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 class Document; | 46 class Document; |
47 class Element; | 47 class Element; |
48 class ExceptionState; | 48 class ExceptionState; |
49 class InspectorNetworkAgent; | 49 class InspectorNetworkAgent; |
50 class InspectorResourceContainer; | 50 class InspectorResourceContainer; |
51 class InspectorStyleSheetBase; | 51 class InspectorStyleSheetBase; |
52 | 52 |
53 typedef HeapVector<Member<CSSRule>> CSSRuleVector; | 53 typedef HeapVector<Member<CSSRule>> CSSRuleVector; |
54 typedef Vector<unsigned> LineEndings; | 54 typedef Vector<unsigned> LineEndings; |
55 | 55 |
56 class InspectorStyle final : public GarbageCollected<InspectorStyle> { | 56 class InspectorStyle final : public GarbageCollectedFinalized<InspectorStyle> { |
57 public: | 57 public: |
58 static InspectorStyle* create(CSSStyleDeclaration*, CSSRuleSourceData*, Insp
ectorStyleSheetBase* parentStyleSheet); | 58 static InspectorStyle* create(CSSStyleDeclaration*, PassRefPtr<CSSRuleSource
Data>, InspectorStyleSheetBase* parentStyleSheet); |
| 59 ~InspectorStyle(); |
59 | 60 |
60 CSSStyleDeclaration* cssStyle() { return m_style.get(); } | 61 CSSStyleDeclaration* cssStyle() { return m_style.get(); } |
61 std::unique_ptr<protocol::CSS::CSSStyle> buildObjectForStyle(); | 62 std::unique_ptr<protocol::CSS::CSSStyle> buildObjectForStyle(); |
62 std::unique_ptr<protocol::Array<protocol::CSS::CSSComputedStyleProperty>> bu
ildArrayForComputedStyle(); | 63 std::unique_ptr<protocol::Array<protocol::CSS::CSSComputedStyleProperty>> bu
ildArrayForComputedStyle(); |
63 bool styleText(String* result); | 64 bool styleText(String* result); |
64 bool textForRange(const SourceRange&, String* result); | 65 bool textForRange(const SourceRange&, String* result); |
65 | 66 |
66 DECLARE_TRACE(); | 67 DECLARE_TRACE(); |
67 | 68 |
68 private: | 69 private: |
69 InspectorStyle(CSSStyleDeclaration*, CSSRuleSourceData*, InspectorStyleSheet
Base* parentStyleSheet); | 70 InspectorStyle(CSSStyleDeclaration*, PassRefPtr<CSSRuleSourceData>, Inspecto
rStyleSheetBase* parentStyleSheet); |
70 | 71 |
71 void populateAllProperties(HeapVector<CSSPropertySourceData>& result); | 72 void populateAllProperties(Vector<CSSPropertySourceData>& result); |
72 std::unique_ptr<protocol::CSS::CSSStyle> styleWithProperties(); | 73 std::unique_ptr<protocol::CSS::CSSStyle> styleWithProperties(); |
73 String shorthandValue(const String& shorthandProperty); | 74 String shorthandValue(const String& shorthandProperty); |
74 | 75 |
75 Member<CSSStyleDeclaration> m_style; | 76 Member<CSSStyleDeclaration> m_style; |
76 Member<CSSRuleSourceData> m_sourceData; | 77 RefPtr<CSSRuleSourceData> m_sourceData; |
77 Member<InspectorStyleSheetBase> m_parentStyleSheet; | 78 Member<InspectorStyleSheetBase> m_parentStyleSheet; |
78 }; | 79 }; |
79 | 80 |
80 class InspectorStyleSheetBase : public GarbageCollectedFinalized<InspectorStyleS
heetBase> { | 81 class InspectorStyleSheetBase : public GarbageCollectedFinalized<InspectorStyleS
heetBase> { |
81 public: | 82 public: |
82 class CORE_EXPORT Listener { | 83 class CORE_EXPORT Listener { |
83 public: | 84 public: |
84 Listener() { } | 85 Listener() { } |
85 virtual ~Listener() { } | 86 virtual ~Listener() { } |
86 virtual void styleSheetChanged(InspectorStyleSheetBase*) = 0; | 87 virtual void styleSheetChanged(InspectorStyleSheetBase*) = 0; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 | 175 |
175 void replaceText(const SourceRange&, const String& text, SourceRange* newRan
ge, String* oldText); | 176 void replaceText(const SourceRange&, const String& text, SourceRange* newRan
ge, String* oldText); |
176 void innerSetText(const String& newText, bool markAsLocallyModified); | 177 void innerSetText(const String& newText, bool markAsLocallyModified); |
177 Element* ownerStyleElement(); | 178 Element* ownerStyleElement(); |
178 | 179 |
179 Member<InspectorResourceContainer> m_resourceContainer; | 180 Member<InspectorResourceContainer> m_resourceContainer; |
180 Member<InspectorNetworkAgent> m_networkAgent; | 181 Member<InspectorNetworkAgent> m_networkAgent; |
181 Member<CSSStyleSheet> m_pageStyleSheet; | 182 Member<CSSStyleSheet> m_pageStyleSheet; |
182 String m_origin; | 183 String m_origin; |
183 String m_documentURL; | 184 String m_documentURL; |
184 Member<RuleSourceDataList> m_sourceData; | 185 std::unique_ptr<RuleSourceDataList> m_sourceData; |
185 String m_text; | 186 String m_text; |
186 CSSRuleVector m_cssomFlatRules; | 187 CSSRuleVector m_cssomFlatRules; |
187 CSSRuleVector m_parsedFlatRules; | 188 CSSRuleVector m_parsedFlatRules; |
188 typedef HashMap<unsigned, unsigned, WTF::IntHash<unsigned>, WTF::UnsignedWit
hZeroKeyHashTraits<unsigned>> IndexMap; | 189 typedef HashMap<unsigned, unsigned, WTF::IntHash<unsigned>, WTF::UnsignedWit
hZeroKeyHashTraits<unsigned>> IndexMap; |
189 IndexMap m_ruleToSourceData; | 190 IndexMap m_ruleToSourceData; |
190 IndexMap m_sourceDataToRule; | 191 IndexMap m_sourceDataToRule; |
191 String m_sourceURL; | 192 String m_sourceURL; |
192 }; | 193 }; |
193 | 194 |
194 class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheetBase { | 195 class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheetBase { |
195 public: | 196 public: |
196 static InspectorStyleSheetForInlineStyle* create(Element*, Listener*); | 197 static InspectorStyleSheetForInlineStyle* create(Element*, Listener*); |
197 | 198 |
198 void didModifyElementAttribute(); | 199 void didModifyElementAttribute(); |
199 bool setText(const String&, ExceptionState&) override; | 200 bool setText(const String&, ExceptionState&) override; |
200 bool getText(String* result) override; | 201 bool getText(String* result) override; |
201 CSSStyleDeclaration* inlineStyle(); | 202 CSSStyleDeclaration* inlineStyle(); |
202 CSSRuleSourceData* ruleSourceData(); | 203 PassRefPtr<CSSRuleSourceData> ruleSourceData(); |
203 | 204 |
204 DECLARE_VIRTUAL_TRACE(); | 205 DECLARE_VIRTUAL_TRACE(); |
205 | 206 |
206 protected: | 207 protected: |
207 InspectorStyle* inspectorStyle(CSSStyleDeclaration*) override; | 208 InspectorStyle* inspectorStyle(CSSStyleDeclaration*) override; |
208 | 209 |
209 // Also accessed by friend class InspectorStyle. | 210 // Also accessed by friend class InspectorStyle. |
210 bool isInlineStyle() override { return true; } | 211 bool isInlineStyle() override { return true; } |
211 | 212 |
212 private: | 213 private: |
213 InspectorStyleSheetForInlineStyle(Element*, Listener*); | 214 InspectorStyleSheetForInlineStyle(Element*, Listener*); |
214 const String& elementStyleText(); | 215 const String& elementStyleText(); |
215 | 216 |
216 Member<Element> m_element; | 217 Member<Element> m_element; |
217 Member<InspectorStyle> m_inspectorStyle; | 218 Member<InspectorStyle> m_inspectorStyle; |
218 }; | 219 }; |
219 | 220 |
220 } // namespace blink | 221 } // namespace blink |
221 | 222 |
222 #endif // !defined(InspectorStyleSheet_h) | 223 #endif // !defined(InspectorStyleSheet_h) |
OLD | NEW |