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

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

Issue 203633003: DevTools: cleanup InspectorStyleSheet (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 virtual void willReparseStyleSheet() = 0; 169 virtual void willReparseStyleSheet() = 0;
170 virtual void didReparseStyleSheet() = 0; 170 virtual void didReparseStyleSheet() = 0;
171 }; 171 };
172 virtual ~InspectorStyleSheetBase() { } 172 virtual ~InspectorStyleSheetBase() { }
173 173
174 String id() const { return m_id; } 174 String id() const { return m_id; }
175 175
176 virtual Document* ownerDocument() const = 0; 176 virtual Document* ownerDocument() const = 0;
177 virtual bool setText(const String&, ExceptionState&) = 0; 177 virtual bool setText(const String&, ExceptionState&) = 0;
178 virtual bool getText(String* result) const = 0; 178 virtual bool getText(String* result) const = 0;
179 virtual void reparseStyleSheet(const String&) = 0;
180 bool setPropertyText(const InspectorCSSId&, unsigned propertyIndex, const St ring& text, bool overwrite, String* oldPropertyText, ExceptionState&); 179 bool setPropertyText(const InspectorCSSId&, unsigned propertyIndex, const St ring& text, bool overwrite, String* oldPropertyText, ExceptionState&);
181 180
182 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const = 0; 181 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const = 0;
183 virtual InspectorCSSId styleId(CSSStyleDeclaration*) const = 0; 182 virtual InspectorCSSId styleId(CSSStyleDeclaration*) const = 0;
184 183
185 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle(CSSStyleDeclarati on*); 184 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForStyle(CSSStyleDeclarati on*);
186 185
187 protected: 186 protected:
188 InspectorStyleSheetBase(const String& id, Listener*); 187 InspectorStyleSheetBase(const String& id, Listener*);
189 188
190 Listener* listener() const { return m_listener; } 189 Listener* listener() const { return m_listener; }
191 void fireStyleSheetChanged(); 190 void fireStyleSheetChanged();
191 PassOwnPtr<Vector<unsigned> > lineEndings();
192 192
193 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) = 0; 193 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) = 0;
194 194
195 // Also accessed by friend class InspectorStyle. 195 // Also accessed by friend class InspectorStyle.
196 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const = 0; 196 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const = 0;
197 virtual bool setStyleText(CSSStyleDeclaration*, const String&) = 0; 197 virtual bool setStyleText(CSSStyleDeclaration*, const String&) = 0;
198 virtual PassOwnPtr<Vector<unsigned> > lineEndings() const = 0;
199 virtual bool ensureParsedDataReady() = 0; 198 virtual bool ensureParsedDataReady() = 0;
200 199
201 private: 200 private:
202 friend class InspectorStyle; 201 friend class InspectorStyle;
203 202
204 String m_id; 203 String m_id;
205 Listener* m_listener; 204 Listener* m_listener;
206 }; 205 };
207 206
208 class InspectorStyleSheet : public InspectorStyleSheetBase { 207 class InspectorStyleSheet : public InspectorStyleSheetBase {
209 public: 208 public:
210 static PassRefPtr<InspectorStyleSheet> create(InspectorPageAgent*, Inspector ResourceAgent*, const String& id, PassRefPtr<CSSStyleSheet> pageStyleSheet, Type Builder::CSS::StyleSheetOrigin::Enum, const String& documentURL, Listener*); 209 static PassRefPtr<InspectorStyleSheet> create(InspectorPageAgent*, Inspector ResourceAgent*, const String& id, PassRefPtr<CSSStyleSheet> pageStyleSheet, Type Builder::CSS::StyleSheetOrigin::Enum, const String& documentURL, Listener*);
211 210
212 virtual ~InspectorStyleSheet(); 211 virtual ~InspectorStyleSheet();
213 212
214 String finalURL() const; 213 String finalURL() const;
215 virtual Document* ownerDocument() const OVERRIDE; 214 virtual Document* ownerDocument() const OVERRIDE;
216 virtual void reparseStyleSheet(const String&) OVERRIDE;
217 virtual bool setText(const String&, ExceptionState&) OVERRIDE; 215 virtual bool setText(const String&, ExceptionState&) OVERRIDE;
218 virtual bool getText(String* result) const OVERRIDE; 216 virtual bool getText(String* result) const OVERRIDE;
219 String ruleSelector(const InspectorCSSId&, ExceptionState&); 217 String ruleSelector(const InspectorCSSId&, ExceptionState&);
220 bool setRuleSelector(const InspectorCSSId&, const String& selector, Exceptio nState&); 218 bool setRuleSelector(const InspectorCSSId&, const String& selector, Exceptio nState&);
221 CSSStyleRule* addRule(const String& selector, ExceptionState&); 219 CSSStyleRule* addRule(const String& selector, ExceptionState&);
222 bool deleteRule(const InspectorCSSId&, ExceptionState&); 220 bool deleteRule(const InspectorCSSId&, ExceptionState&);
223 221
224 CSSStyleSheet* pageStyleSheet() const { return m_pageStyleSheet.get(); } 222 CSSStyleSheet* pageStyleSheet() const { return m_pageStyleSheet.get(); }
225 223
226 PassRefPtr<TypeBuilder::CSS::CSSStyleSheetHeader> buildObjectForStyleSheetIn fo() const; 224 PassRefPtr<TypeBuilder::CSS::CSSStyleSheetHeader> buildObjectForStyleSheetIn fo() const;
227 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*, Pass RefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> >); 225 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*, Pass RefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> >);
228 226
229 PassRefPtr<TypeBuilder::CSS::SourceRange> ruleHeaderSourceRange(const CSSRul e*); 227 PassRefPtr<TypeBuilder::CSS::SourceRange> ruleHeaderSourceRange(const CSSRul e*);
230 228
231 InspectorCSSId ruleId(CSSStyleRule*) const; 229 InspectorCSSId ruleId(CSSStyleRule*) const;
232 CSSStyleRule* ruleForId(const InspectorCSSId&) const; 230 CSSStyleRule* ruleForId(const InspectorCSSId&) const;
233 231
234 virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return ruleIdByStyle(style); } 232 virtual InspectorCSSId styleId(CSSStyleDeclaration*) const OVERRIDE;
235 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const OVERRID E; 233 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&) const OVERRID E;
236 234
237 protected: 235 protected:
238 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE; 236 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE;
239 237
240 // Also accessed by friend class InspectorStyle. 238 // Also accessed by friend class InspectorStyle.
241 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const OVERRIDE; 239 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* ) const OVERRIDE;
242 virtual bool setStyleText(CSSStyleDeclaration*, const String&) OVERRIDE; 240 virtual bool setStyleText(CSSStyleDeclaration*, const String&) OVERRIDE;
243 virtual PassOwnPtr<Vector<unsigned> > lineEndings() const OVERRIDE;
244 virtual bool ensureParsedDataReady() OVERRIDE; 241 virtual bool ensureParsedDataReady() OVERRIDE;
245 242
246 private: 243 private:
247 InspectorStyleSheet(InspectorPageAgent*, InspectorResourceAgent*, const Stri ng& id, PassRefPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOr igin::Enum, const String& documentURL, Listener*); 244 InspectorStyleSheet(InspectorPageAgent*, InspectorResourceAgent*, const Stri ng& id, PassRefPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOr igin::Enum, const String& documentURL, Listener*);
248 245
249 InspectorCSSId ruleIdByStyle(CSSStyleDeclaration*) const;
250 unsigned ruleIndexByStyle(CSSStyleDeclaration*) const; 246 unsigned ruleIndexByStyle(CSSStyleDeclaration*) const;
251 unsigned ruleIndexByRule(const CSSRule*) const;
252 String sourceMapURL() const; 247 String sourceMapURL() const;
253 String sourceURL() const; 248 String sourceURL() const;
254 bool checkPageStyleSheet(ExceptionState&) const;
255 bool ensureText() const; 249 bool ensureText() const;
256 void ensureFlatRules() const; 250 void ensureFlatRules() const;
257 bool styleSheetTextWithChangedStyle(CSSStyleDeclaration*, const String& newS tyleText, String* result); 251 bool styleSheetTextWithChangedStyle(CSSStyleDeclaration*, const String& newS tyleText, String* result);
258 bool originalStyleSheetText(String* result) const; 252 bool originalStyleSheetText(String* result) const;
259 bool resourceStyleSheetText(String* result) const; 253 bool resourceStyleSheetText(String* result) const;
260 bool inlineStyleSheetText(String* result) const; 254 bool inlineStyleSheetText(String* result) const;
261 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Selector> > selectorsFromSou rce(const CSSRuleSourceData*, const String&) const; 255 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Selector> > selectorsFromSou rce(const CSSRuleSourceData*, const String&);
262 PassRefPtr<TypeBuilder::CSS::SelectorList> buildObjectForSelectorList(CSSSty leRule*); 256 PassRefPtr<TypeBuilder::CSS::SelectorList> buildObjectForSelectorList(CSSSty leRule*);
263 String url() const; 257 String url() const;
264 bool hasSourceURL() const; 258 bool hasSourceURL() const;
265 bool startsAtZero() const; 259 bool startsAtZero() const;
266 260
267 InspectorPageAgent* m_pageAgent; 261 InspectorPageAgent* m_pageAgent;
268 InspectorResourceAgent* m_resourceAgent; 262 InspectorResourceAgent* m_resourceAgent;
269 RefPtr<CSSStyleSheet> m_pageStyleSheet; 263 RefPtr<CSSStyleSheet> m_pageStyleSheet;
270 TypeBuilder::CSS::StyleSheetOrigin::Enum m_origin; 264 TypeBuilder::CSS::StyleSheetOrigin::Enum m_origin;
271 String m_documentURL; 265 String m_documentURL;
272 OwnPtr<ParsedStyleSheet> m_parsedStyleSheet; 266 OwnPtr<ParsedStyleSheet> m_parsedStyleSheet;
273 mutable CSSRuleVector m_flatRules; 267 mutable CSSRuleVector m_flatRules;
274 mutable String m_sourceURL; 268 mutable String m_sourceURL;
275 }; 269 };
276 270
277 class InspectorStyleSheetForInlineStyle FINAL : public InspectorStyleSheetBase { 271 class InspectorStyleSheetForInlineStyle FINAL : public InspectorStyleSheetBase {
278 public: 272 public:
279 static PassRefPtr<InspectorStyleSheetForInlineStyle> create(const String& id , PassRefPtr<Element>, Listener*); 273 static PassRefPtr<InspectorStyleSheetForInlineStyle> create(const String& id , PassRefPtr<Element>, Listener*);
280 274
281 void didModifyElementAttribute(); 275 void didModifyElementAttribute();
282 virtual Document* ownerDocument() const OVERRIDE; 276 virtual Document* ownerDocument() const OVERRIDE;
283 virtual void reparseStyleSheet(const String&) OVERRIDE;
284 virtual bool setText(const String&, ExceptionState&) OVERRIDE; 277 virtual bool setText(const String&, ExceptionState&) OVERRIDE;
285 virtual bool getText(String* result) const OVERRIDE; 278 virtual bool getText(String* result) const OVERRIDE;
286 279
287 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId& id) const OVER RIDE { ASSERT_UNUSED(id, !id.ordinal()); return inlineStyle(); } 280 virtual CSSStyleDeclaration* styleForId(const InspectorCSSId& id) const OVER RIDE { ASSERT_UNUSED(id, !id.ordinal()); return inlineStyle(); }
288 virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return InspectorCSSId(id(), 0); } 281 virtual InspectorCSSId styleId(CSSStyleDeclaration* style) const OVERRIDE { return InspectorCSSId(id(), 0); }
289 282
290 protected: 283 protected:
291 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE; 284 virtual PassRefPtr<InspectorStyle> inspectorStyleForId(const InspectorCSSId& ) OVERRIDE;
292 285
293 // Also accessed by friend class InspectorStyle. 286 // Also accessed by friend class InspectorStyle.
294 virtual bool ensureParsedDataReady() OVERRIDE; 287 virtual bool ensureParsedDataReady() OVERRIDE;
295 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* style) const OVERRIDE { ASSERT_UNUSED(style, style == inlineStyle()); return m_ ruleSourceData; } 288 virtual PassRefPtr<CSSRuleSourceData> ruleSourceDataFor(CSSStyleDeclaration* style) const OVERRIDE { ASSERT_UNUSED(style, style == inlineStyle()); return m_ ruleSourceData; }
296 virtual bool setStyleText(CSSStyleDeclaration*, const String&) OVERRIDE; 289 virtual bool setStyleText(CSSStyleDeclaration*, const String&) OVERRIDE;
297 virtual PassOwnPtr<Vector<unsigned> > lineEndings() const OVERRIDE;
298 290
299 private: 291 private:
300 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtr<Element>, Lis tener*); 292 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtr<Element>, Lis tener*);
301 CSSStyleDeclaration* inlineStyle() const; 293 CSSStyleDeclaration* inlineStyle() const;
302 const String& elementStyleText() const; 294 const String& elementStyleText() const;
303 PassRefPtr<CSSRuleSourceData> getStyleAttributeData() const; 295 PassRefPtr<CSSRuleSourceData> getStyleAttributeData() const;
304 296
305 RefPtr<Element> m_element; 297 RefPtr<Element> m_element;
306 RefPtr<CSSRuleSourceData> m_ruleSourceData; 298 RefPtr<CSSRuleSourceData> m_ruleSourceData;
307 RefPtr<InspectorStyle> m_inspectorStyle; 299 RefPtr<InspectorStyle> m_inspectorStyle;
308 300
309 // Contains "style" attribute value. 301 // Contains "style" attribute value.
310 mutable String m_styleText; 302 mutable String m_styleText;
311 mutable bool m_isStyleTextValid; 303 mutable bool m_isStyleTextValid;
312 }; 304 };
313 305
314 306
315 } // namespace WebCore 307 } // namespace WebCore
316 308
317 #endif // !defined(InspectorStyleSheet_h) 309 #endif // !defined(InspectorStyleSheet_h)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698