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

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

Issue 1211813002: DevTools: allow injecting CSS rules without breaking styles sidebar. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 const CSSRuleVector& flatRules(); 144 const CSSRuleVector& flatRules();
145 145
146 protected: 146 protected:
147 virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyle(RefPtrWillBeRa wPtr<CSSStyleDeclaration>) override; 147 virtual PassRefPtrWillBeRawPtr<InspectorStyle> inspectorStyle(RefPtrWillBeRa wPtr<CSSStyleDeclaration>) override;
148 148
149 private: 149 private:
150 InspectorStyleSheet(InspectorResourceAgent*, const String& id, PassRefPtrWil lBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOrigin::Enu m, const String& documentURL, InspectorCSSAgent*); 150 InspectorStyleSheet(InspectorResourceAgent*, const String& id, PassRefPtrWil lBeRawPtr<CSSStyleSheet> pageStyleSheet, TypeBuilder::CSS::StyleSheetOrigin::Enu m, const String& documentURL, InspectorCSSAgent*);
151 RefPtrWillBeRawPtr<CSSRuleSourceData> ruleAfterSourceRange(const SourceRange &); 151 RefPtrWillBeRawPtr<CSSRuleSourceData> ruleAfterSourceRange(const SourceRange &);
152 RefPtrWillBeRawPtr<CSSRuleSourceData> findRuleByHeaderRange(const SourceRang e&); 152 RefPtrWillBeRawPtr<CSSRuleSourceData> findRuleByHeaderRange(const SourceRang e&);
153 RefPtrWillBeRawPtr<CSSRuleSourceData> findRuleByBodyRange(const SourceRange& ); 153 RefPtrWillBeRawPtr<CSSRuleSourceData> findRuleByBodyRange(const SourceRange& );
154 RefPtrWillBeRawPtr<CSSRule> ruleForSourceData(CSSRuleSourceData*); 154 RefPtrWillBeRawPtr<CSSRule> ruleForSourceData(RefPtrWillBeRawPtr<CSSRuleSour ceData>);
155 RefPtrWillBeRawPtr<CSSRuleSourceData> sourceDataForRule(CSSRule*); 155 RefPtrWillBeRawPtr<CSSRuleSourceData> sourceDataForRule(RefPtrWillBeRawPtr<C SSRule>);
156 CSSStyleRule* insertCSSOMRuleInStyleSheet(CSSRule* insertBefore, const Strin g& ruleText, ExceptionState&); 156 CSSStyleRule* insertCSSOMRuleInStyleSheet(CSSRule* insertBefore, const Strin g& ruleText, ExceptionState&);
157 CSSStyleRule* insertCSSOMRuleInMediaRule(CSSMediaRule*, CSSRule* insertBefor e, const String& ruleText, ExceptionState&); 157 CSSStyleRule* insertCSSOMRuleInMediaRule(CSSMediaRule*, CSSRule* insertBefor e, const String& ruleText, ExceptionState&);
158 CSSStyleRule* insertCSSOMRuleBySourceRange(const SourceRange&, const String& ruleText, ExceptionState&); 158 CSSStyleRule* insertCSSOMRuleBySourceRange(const SourceRange&, const String& ruleText, ExceptionState&);
159 String sourceMapURL(); 159 String sourceMapURL();
160 String sourceURL(); 160 String sourceURL();
161 void collectFlatRules(); 161 void mapSourceDataToCSSOM();
162 bool resourceStyleSheetText(String* result); 162 bool resourceStyleSheetText(String* result);
163 bool inlineStyleSheetText(String* result); 163 bool inlineStyleSheetText(String* result);
164 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Selector>> selectorsFromSour ce(CSSRuleSourceData*, const String&); 164 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Selector>> selectorsFromSour ce(CSSRuleSourceData*, const String&);
165 PassRefPtr<TypeBuilder::CSS::SelectorList> buildObjectForSelectorList(CSSSty leRule*); 165 PassRefPtr<TypeBuilder::CSS::SelectorList> buildObjectForSelectorList(CSSSty leRule*);
166 String url(); 166 String url();
167 bool hasSourceURL(); 167 bool hasSourceURL();
168 bool startsAtZero(); 168 bool startsAtZero();
169 169
170 void replaceText(const SourceRange&, const String& text, SourceRange* newRan ge, String* oldText); 170 bool replaceText(const SourceRange&, const String& text, SourceRange* newRan ge, String* oldText);
171 void innerSetText(const String& newText, bool markAsLocallyModified); 171 bool innerSetText(const String& newText, bool markAsLocallyModified);
172 Element* ownerStyleElement(); 172 Element* ownerStyleElement();
173 173
174 RawPtrWillBeMember<InspectorCSSAgent> m_cssAgent; 174 RawPtrWillBeMember<InspectorCSSAgent> m_cssAgent;
175 RawPtrWillBeMember<InspectorResourceAgent> m_resourceAgent; 175 RawPtrWillBeMember<InspectorResourceAgent> m_resourceAgent;
176 RefPtrWillBeMember<CSSStyleSheet> m_pageStyleSheet; 176 RefPtrWillBeMember<CSSStyleSheet> m_pageStyleSheet;
177 TypeBuilder::CSS::StyleSheetOrigin::Enum m_origin; 177 TypeBuilder::CSS::StyleSheetOrigin::Enum m_origin;
178 String m_documentURL; 178 String m_documentURL;
179 OwnPtrWillBeMember<RuleSourceDataList> m_sourceData; 179 OwnPtrWillBeMember<RuleSourceDataList> m_sourceData;
180 RefPtrWillBeMember<CSSStyleSheet> m_sourceDataSheet;
180 String m_text; 181 String m_text;
181 CSSRuleVector m_flatRules; 182 CSSRuleVector m_flatRules;
183 typedef HashMap<unsigned, unsigned, WTF::IntHash<unsigned>, WTF::UnsignedWit hZeroKeyHashTraits<unsigned>> IndexMap;
184 IndexMap m_ruleToSourceData;
185 IndexMap m_sourceDataToRule;
182 String m_sourceURL; 186 String m_sourceURL;
183 }; 187 };
184 188
185 class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheetBase { 189 class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheetBase {
186 public: 190 public:
187 static PassRefPtrWillBeRawPtr<InspectorStyleSheetForInlineStyle> create(cons t String& id, PassRefPtrWillBeRawPtr<Element>, Listener*); 191 static PassRefPtrWillBeRawPtr<InspectorStyleSheetForInlineStyle> create(cons t String& id, PassRefPtrWillBeRawPtr<Element>, Listener*);
188 192
189 void didModifyElementAttribute(); 193 void didModifyElementAttribute();
190 virtual bool setText(const String&, ExceptionState&) override; 194 virtual bool setText(const String&, ExceptionState&) override;
191 virtual bool getText(String* result) override; 195 virtual bool getText(String* result) override;
(...skipping 11 matching lines...) Expand all
203 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtrWillBeRawPtr<E lement>, Listener*); 207 InspectorStyleSheetForInlineStyle(const String& id, PassRefPtrWillBeRawPtr<E lement>, Listener*);
204 const String& elementStyleText(); 208 const String& elementStyleText();
205 209
206 RefPtrWillBeMember<Element> m_element; 210 RefPtrWillBeMember<Element> m_element;
207 RefPtrWillBeMember<InspectorStyle> m_inspectorStyle; 211 RefPtrWillBeMember<InspectorStyle> m_inspectorStyle;
208 }; 212 };
209 213
210 } // namespace blink 214 } // namespace blink
211 215
212 #endif // !defined(InspectorStyleSheet_h) 216 #endif // !defined(InspectorStyleSheet_h)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698