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

Side by Side Diff: Source/core/inspector/InspectorStyleSheet.h

Issue 216553004: [Oilpan]: Move CSSPropertySourceData, InspectorStyleProperty, CSSStyleSourceData, and CSSRuleSource… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Review feedback Created 6 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 | Annotate | Revision Log
OLDNEW
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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 .setOrdinal(m_ordinal); 95 .setOrdinal(m_ordinal);
96 return result.release(); 96 return result.release();
97 } 97 }
98 98
99 private: 99 private:
100 String m_styleSheetId; 100 String m_styleSheetId;
101 unsigned m_ordinal; 101 unsigned m_ordinal;
102 }; 102 };
103 103
104 struct InspectorStyleProperty { 104 struct InspectorStyleProperty {
105 ALLOW_ONLY_INLINE_ALLOCATION();
106 public:
105 explicit InspectorStyleProperty(CSSPropertySourceData sourceData) 107 explicit InspectorStyleProperty(CSSPropertySourceData sourceData)
106 : sourceData(sourceData) 108 : sourceData(sourceData)
107 , hasSource(true) 109 , hasSource(true)
108 { 110 {
109 } 111 }
110 112
111 InspectorStyleProperty(CSSPropertySourceData sourceData, bool hasSource) 113 InspectorStyleProperty(CSSPropertySourceData sourceData, bool hasSource)
112 : sourceData(sourceData) 114 : sourceData(sourceData)
113 , hasSource(hasSource) 115 , hasSource(hasSource)
114 { 116 {
115 } 117 }
116 118
117 void setRawTextFromStyleDeclaration(const String& styleDeclaration) 119 void setRawTextFromStyleDeclaration(const String& styleDeclaration)
118 { 120 {
119 unsigned start = sourceData.range.start; 121 unsigned start = sourceData.range.start;
120 unsigned end = sourceData.range.end; 122 unsigned end = sourceData.range.end;
121 ASSERT(start < end); 123 ASSERT(start < end);
122 ASSERT(end <= styleDeclaration.length()); 124 ASSERT(end <= styleDeclaration.length());
123 rawText = styleDeclaration.substring(start, end - start); 125 rawText = styleDeclaration.substring(start, end - start);
124 } 126 }
125 127
126 bool hasRawText() const { return !rawText.isEmpty(); } 128 bool hasRawText() const { return !rawText.isEmpty(); }
127 129
130 void trace(Visitor* visitor) { visitor->trace(sourceData); }
131
128 CSSPropertySourceData sourceData; 132 CSSPropertySourceData sourceData;
129 bool hasSource; 133 bool hasSource;
130 String rawText; 134 String rawText;
131 }; 135 };
132 136
133 class InspectorStyle FINAL : public RefCounted<InspectorStyle> { 137 class InspectorStyle FINAL : public RefCounted<InspectorStyle> {
134 public: 138 public:
135 static PassRefPtr<InspectorStyle> create(const InspectorCSSId&, PassRefPtr<C SSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet); 139 static PassRefPtr<InspectorStyle> create(const InspectorCSSId&, PassRefPtr<C SSStyleDeclaration>, InspectorStyleSheetBase* parentStyleSheet);
136 140
137 CSSStyleDeclaration* cssStyle() const { return m_style.get(); } 141 CSSStyleDeclaration* cssStyle() const { return m_style.get(); }
138 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle() const; 142 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle() const;
139 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSComputedStyleProperty> > buildArrayForComputedStyle() const; 143 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSComputedStyleProperty> > buildArrayForComputedStyle() const;
140 bool setPropertyText(unsigned index, const String& text, bool overwrite, Exc eptionState&); 144 bool setPropertyText(unsigned index, const String& text, bool overwrite, Exc eptionState&);
141 bool styleText(String* result) const; 145 bool styleText(String* result) const;
142 146
143 private: 147 private:
144 InspectorStyle(const InspectorCSSId&, PassRefPtr<CSSStyleDeclaration>, Inspe ctorStyleSheetBase* parentStyleSheet); 148 InspectorStyle(const InspectorCSSId&, PassRefPtr<CSSStyleDeclaration>, Inspe ctorStyleSheetBase* parentStyleSheet);
145 149
146 bool verifyPropertyText(const String& propertyText, bool canOmitSemicolon); 150 bool verifyPropertyText(const String& propertyText, bool canOmitSemicolon);
147 void populateAllProperties(Vector<InspectorStyleProperty>& result) const; 151 void populateAllProperties(WillBeHeapVector<InspectorStyleProperty>& result) const;
148 PassRefPtr<TypeBuilder::CSS::CSSStyle> styleWithProperties() const; 152 PassRefPtr<TypeBuilder::CSS::CSSStyle> styleWithProperties() const;
149 PassRefPtr<CSSRuleSourceData> extractSourceData() const; 153 PassRefPtrWillBeRawPtr<CSSRuleSourceData> extractSourceData() const;
150 bool applyStyleText(const String&); 154 bool applyStyleText(const String&);
151 String shorthandValue(const String& shorthandProperty) const; 155 String shorthandValue(const String& shorthandProperty) const;
152 NewLineAndWhitespace& newLineAndWhitespaceDelimiters() const; 156 NewLineAndWhitespace& newLineAndWhitespaceDelimiters() const;
153 inline Document* ownerDocument() const; 157 inline Document* ownerDocument() const;
154 158
155 InspectorCSSId m_styleId; 159 InspectorCSSId m_styleId;
156 RefPtr<CSSStyleDeclaration> m_style; 160 RefPtr<CSSStyleDeclaration> m_style;
157 InspectorStyleSheetBase* m_parentStyleSheet; 161 InspectorStyleSheetBase* m_parentStyleSheet;
158 mutable std::pair<String, String> m_format; 162 mutable std::pair<String, String> m_format;
159 mutable bool m_formatAcquired; 163 mutable bool m_formatAcquired;
(...skipping 29 matching lines...) Expand all
189 protected: 193 protected:
190 InspectorStyleSheetBase(const String& id, Listener*); 194 InspectorStyleSheetBase(const String& id, Listener*);
191 195
192 Listener* listener() const { return m_listener; } 196 Listener* listener() const { return m_listener; }
193 void fireStyleSheetChanged(); 197 void fireStyleSheetChanged();
194 PassOwnPtr<Vector<unsigned> > lineEndings(); 198 PassOwnPtr<Vector<unsigned> > lineEndings();
195 199
196 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) = 0; 200 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) = 0;
197 201
198 // Also accessed by friend class InspectorStyle. 202 // Also accessed by friend class InspectorStyle.
199 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const = 0; 203 virtual PassRefPtrWillBeRawPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyle Declaration*) const = 0;
200 virtual bool ensureParsedDataReady() = 0; 204 virtual bool ensureParsedDataReady() = 0;
201 205
202 private: 206 private:
203 friend class InspectorStyle; 207 friend class InspectorStyle;
204 208
205 String m_id; 209 String m_id;
206 Listener* m_listener; 210 Listener* m_listener;
207 }; 211 };
208 212
209 class InspectorStyleSheet : public InspectorStyleSheetBase { 213 class InspectorStyleSheet : public InspectorStyleSheetBase {
(...skipping 22 matching lines...) Expand all
232 CSSStyleRule* ruleForId(const InspectorCSSId&) const; 236 CSSStyleRule* ruleForId(const InspectorCSSId&) const;
233 237
234 virtual InspectorCSSId styleId(CSSStyleDeclaration*) const OVERRIDE; 238 virtual InspectorCSSId styleId(CSSStyleDeclaration*) const OVERRIDE;
235 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const OVERRID E; 239 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const OVERRID E;
236 virtual bool setStyleText(const InspectorCSSId&, const String&) OVERRIDE; 240 virtual bool setStyleText(const InspectorCSSId&, const String&) OVERRIDE;
237 241
238 protected: 242 protected:
239 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE; 243 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE;
240 244
241 // Also accessed by friend class InspectorStyle. 245 // Also accessed by friend class InspectorStyle.
242 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const OVERRIDE; 246 virtual PassRefPtrWillBeRawPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyle Declaration*) const OVERRIDE;
243 virtual bool ensureParsedDataReady() OVERRIDE; 247 virtual bool ensureParsedDataReady() OVERRIDE;
244 248
245 private: 249 private:
246 InspectorStyleSheet(InspectorPageAgent*, InspectorResourceAgent*, const Stri ng& id, PassRefPtrWillBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS:: StyleSheetOrigin::Enum, const String& documentURL, Listener*); 250 InspectorStyleSheet(InspectorPageAgent*, InspectorResourceAgent*, const Stri ng& id, PassRefPtrWillBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS:: StyleSheetOrigin::Enum, const String& documentURL, Listener*);
247 251
248 unsigned ruleIndexByStyle(CSSStyleDeclaration*) const; 252 unsigned ruleIndexByStyle(CSSStyleDeclaration*) const;
249 String sourceMapURL() const; 253 String sourceMapURL() const;
250 String sourceURL() const; 254 String sourceURL() const;
251 bool ensureText() const; 255 bool ensureText() const;
252 void ensureFlatRules() const; 256 void ensureFlatRules() const;
(...skipping 28 matching lines...) Expand all
281 285
282 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId& id) const OVER RIDE { ASSERT_UNUSED(id, !id.ordinal()); return inlineStyle(); } 286 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId& id) const OVER RIDE { ASSERT_UNUSED(id, !id.ordinal()); return inlineStyle(); }
283 virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return InspectorCSSId(id(), 0); } 287 virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return InspectorCSSId(id(), 0); }
284 virtual bool setStyleText(const InspectorCSSId&, const String&) OVERRIDE; 288 virtual bool setStyleText(const InspectorCSSId&, const String&) OVERRIDE;
285 289
286 protected: 290 protected:
287 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE; 291 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE;
288 292
289 // Also accessed by friend class InspectorStyle. 293 // Also accessed by friend class InspectorStyle.
290 virtual bool ensureParsedDataReady() OVERRIDE; 294 virtual bool ensureParsedDataReady() OVERRIDE;
291 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* style) const OVERRIDE { ASSERT_UNUSED(style, style == inlineStyle()); return m_ ruleSourceData; } 295 virtual PassRefPtrWillBeRawPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyle Declaration* style) const OVERRIDE { ASSERT_UNUSED(style, style == inlineStyle() ); return m_ruleSourceData; }
292 296
293 private: 297 private:
294 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtr<Element>, Lis tener*); 298 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtr<Element>, Lis tener*);
295 CSSStyleDeclaration* inlineStyle() const; 299 CSSStyleDeclaration* inlineStyle() const;
296 const String& elementStyleText() const; 300 const String& elementStyleText() const;
297 PassRefPtr<CSSRuleSourceData> getStyleAttributeData() const; 301 PassRefPtrWillBeRawPtr<CSSRuleSourceData> getStyleAttributeData() const;
298 302
299 RefPtr<Element> m_element; 303 RefPtr<Element> m_element;
300 RefPtr<CSSRuleSourceData> m_ruleSourceData; 304 RefPtrWillBePersistent<CSSRuleSourceData> m_ruleSourceData;
301 RefPtr<InspectorStyle> m_inspectorStyle; 305 RefPtr<InspectorStyle> m_inspectorStyle;
302 306
303 // Contains "style" attribute value. 307 // Contains "style" attribute value.
304 mutable String m_styleText; 308 mutable String m_styleText;
305 mutable bool m_isStyleTextValid; 309 mutable bool m_isStyleTextValid;
306 }; 310 };
307 311
308 312
309 } // namespace WebCore 313 } // namespace WebCore
310 314
315 namespace WTF {
316
317 template <> struct VectorTraits<WebCore::InspectorStyleProperty> : VectorTraitsB ase<WebCore::InspectorStyleProperty> {
318 static const bool canInitializeWithMemset = true;
haraken 2014/03/31 11:24:37 Ditto.
319 };
320
321 }
311 #endif // !defined(InspectorStyleSheet_h) 322 #endif // !defined(InspectorStyleSheet_h)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698