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

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

Issue 307943002: Oilpan: Prepare moving InspectorController and InspectorAgents to oilpan. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 class PlatformFontUsage; 57 class PlatformFontUsage;
58 class RenderText; 58 class RenderText;
59 class StyleResolver; 59 class StyleResolver;
60 60
61 class InspectorCSSAgent FINAL 61 class InspectorCSSAgent FINAL
62 : public InspectorBaseAgent<InspectorCSSAgent> 62 : public InspectorBaseAgent<InspectorCSSAgent>
63 , public InspectorDOMAgent::DOMListener 63 , public InspectorDOMAgent::DOMListener
64 , public InspectorBackendDispatcher::CSSCommandHandler 64 , public InspectorBackendDispatcher::CSSCommandHandler
65 , public InspectorStyleSheetBase::Listener { 65 , public InspectorStyleSheetBase::Listener {
66 WTF_MAKE_NONCOPYABLE(InspectorCSSAgent); 66 WTF_MAKE_NONCOPYABLE(InspectorCSSAgent);
67 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(InspectorCSSAgent);
67 public: 68 public:
68 enum MediaListSource { 69 enum MediaListSource {
69 MediaListSourceLinkedSheet, 70 MediaListSourceLinkedSheet,
70 MediaListSourceInlineSheet, 71 MediaListSourceInlineSheet,
71 MediaListSourceMediaRule, 72 MediaListSourceMediaRule,
72 MediaListSourceImportRule 73 MediaListSourceImportRule
73 }; 74 };
74 75
75 enum StyleSheetsUpdateType { 76 enum StyleSheetsUpdateType {
76 InitialFrontendLoad = 0, 77 InitialFrontendLoad = 0,
(...skipping 12 matching lines...) Expand all
89 { 90 {
90 m_contentSecurityPolicy->setOverrideAllowInlineStyle(false); 91 m_contentSecurityPolicy->setOverrideAllowInlineStyle(false);
91 } 92 }
92 93
93 private: 94 private:
94 ContentSecurityPolicy* m_contentSecurityPolicy; 95 ContentSecurityPolicy* m_contentSecurityPolicy;
95 }; 96 };
96 97
97 static CSSStyleRule* asCSSStyleRule(CSSRule*); 98 static CSSStyleRule* asCSSStyleRule(CSSRule*);
98 99
99 static PassOwnPtr<InspectorCSSAgent> create(InspectorDOMAgent* domAgent, Ins pectorPageAgent* pageAgent, InspectorResourceAgent* resourceAgent) 100 static PassOwnPtrWillBeRawPtr<InspectorCSSAgent> create(InspectorDOMAgent* d omAgent, InspectorPageAgent* pageAgent, InspectorResourceAgent* resourceAgent)
100 { 101 {
101 return adoptPtr(new InspectorCSSAgent(domAgent, pageAgent, resourceAgent )); 102 return adoptPtrWillBeNoop(new InspectorCSSAgent(domAgent, pageAgent, res ourceAgent));
102 } 103 }
103 104
104 static void collectAllDocumentStyleSheets(Document*, Vector<CSSStyleSheet*>& ); 105 static void collectAllDocumentStyleSheets(Document*, WillBeHeapVector<RawPtr WillBeMember<CSSStyleSheet> >&);
105 106
106 virtual ~InspectorCSSAgent(); 107 virtual ~InspectorCSSAgent();
108 virtual void trace(Visitor*) OVERRIDE;
107 109
108 bool forcePseudoState(Element*, CSSSelector::PseudoType); 110 bool forcePseudoState(Element*, CSSSelector::PseudoType);
109 virtual void setFrontend(InspectorFrontend*) OVERRIDE; 111 virtual void setFrontend(InspectorFrontend*) OVERRIDE;
110 virtual void clearFrontend() OVERRIDE; 112 virtual void clearFrontend() OVERRIDE;
111 virtual void discardAgent() OVERRIDE; 113 virtual void discardAgent() OVERRIDE;
112 virtual void didCommitLoadForMainFrame() OVERRIDE; 114 virtual void didCommitLoadForMainFrame() OVERRIDE;
113 virtual void restore() OVERRIDE; 115 virtual void restore() OVERRIDE;
114 virtual void flushPendingFrontendMessages() OVERRIDE; 116 virtual void flushPendingFrontendMessages() OVERRIDE;
115 virtual void enable(ErrorString*, PassRefPtr<EnableCallback>) OVERRIDE; 117 virtual void enable(ErrorString*, PassRefPtr<EnableCallback>) OVERRIDE;
116 virtual void disable(ErrorString*) OVERRIDE; 118 virtual void disable(ErrorString*) OVERRIDE;
(...skipping 28 matching lines...) Expand all
145 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> > buildMediaListCh ain(CSSRule*); 147 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> > buildMediaListCh ain(CSSRule*);
146 148
147 private: 149 private:
148 class StyleSheetAction; 150 class StyleSheetAction;
149 class SetStyleSheetTextAction; 151 class SetStyleSheetTextAction;
150 class SetPropertyTextAction; 152 class SetPropertyTextAction;
151 class SetRuleSelectorAction; 153 class SetRuleSelectorAction;
152 class AddRuleAction; 154 class AddRuleAction;
153 class InspectorResourceContentLoaderCallback; 155 class InspectorResourceContentLoaderCallback;
154 156
155 static void collectStyleSheets(CSSStyleSheet*, Vector<CSSStyleSheet*>&); 157 static void collectStyleSheets(CSSStyleSheet*, WillBeHeapVector<RawPtrWillBe Member<CSSStyleSheet> >&);
156 158
157 InspectorCSSAgent(InspectorDOMAgent*, InspectorPageAgent*, InspectorResource Agent*); 159 InspectorCSSAgent(InspectorDOMAgent*, InspectorPageAgent*, InspectorResource Agent*);
158 160
159 typedef HashMap<String, RefPtr<InspectorStyleSheet> > IdToInspectorStyleShee t; 161 typedef HashMap<String, RefPtr<InspectorStyleSheet> > IdToInspectorStyleShee t;
160 typedef HashMap<String, RefPtr<InspectorStyleSheetForInlineStyle> > IdToInsp ectorStyleSheetForInlineStyle; 162 typedef HashMap<String, RefPtr<InspectorStyleSheetForInlineStyle> > IdToInsp ectorStyleSheetForInlineStyle;
161 typedef HashMap<Node*, RefPtr<InspectorStyleSheetForInlineStyle> > NodeToIns pectorStyleSheet; // bogus "stylesheets" with elements' inline styles 163 typedef HashMap<Node*, RefPtr<InspectorStyleSheetForInlineStyle> > NodeToIns pectorStyleSheet; // bogus "stylesheets" with elements' inline styles
162 typedef HashMap<int, unsigned> NodeIdToForcedPseudoState; 164 typedef HashMap<int, unsigned> NodeIdToForcedPseudoState;
163 165
164 void wasEnabled(); 166 void wasEnabled();
165 void resetNonPersistentData(); 167 void resetNonPersistentData();
166 InspectorStyleSheetForInlineStyle* asInspectorStyleSheet(Element* element); 168 InspectorStyleSheetForInlineStyle* asInspectorStyleSheet(Element* element);
167 Element* elementForId(ErrorString*, int nodeId); 169 Element* elementForId(ErrorString*, int nodeId);
168 170
169 void updateActiveStyleSheets(Document*, StyleSheetsUpdateType); 171 void updateActiveStyleSheets(Document*, StyleSheetsUpdateType);
170 void setActiveStyleSheets(Document*, const Vector<CSSStyleSheet*>&, StyleShe etsUpdateType); 172 void setActiveStyleSheets(Document*, const WillBeHeapVector<RawPtrWillBeMemb er<CSSStyleSheet> >&, StyleSheetsUpdateType);
171 173
172 void collectPlatformFontsForRenderer(RenderText*, HashCountedSet<String>*); 174 void collectPlatformFontsForRenderer(RenderText*, HashCountedSet<String>*);
173 175
174 InspectorStyleSheet* bindStyleSheet(CSSStyleSheet*); 176 InspectorStyleSheet* bindStyleSheet(CSSStyleSheet*);
175 String unbindStyleSheet(InspectorStyleSheet*); 177 String unbindStyleSheet(InspectorStyleSheet*);
176 InspectorStyleSheet* viaInspectorStyleSheet(Document*, bool createIfAbsent); 178 InspectorStyleSheet* viaInspectorStyleSheet(Document*, bool createIfAbsent);
177 InspectorStyleSheet* assertInspectorStyleSheetForId(ErrorString*, const Stri ng&); 179 InspectorStyleSheet* assertInspectorStyleSheetForId(ErrorString*, const Stri ng&);
178 InspectorStyleSheetBase* assertStyleSheetForId(ErrorString*, const String&); 180 InspectorStyleSheetBase* assertStyleSheetForId(ErrorString*, const String&);
179 TypeBuilder::CSS::StyleSheetOrigin::Enum detectOrigin(CSSStyleSheet* pageSty leSheet, Document* ownerDocument); 181 TypeBuilder::CSS::StyleSheetOrigin::Enum detectOrigin(CSSStyleSheet* pageSty leSheet, Document* ownerDocument);
180 bool styleSheetEditInProgress() const { return m_styleSheetsPendingMutation || m_styleDeclarationPendingMutation || m_isSettingStyleSheetText; } 182 bool styleSheetEditInProgress() const { return m_styleSheetsPendingMutation || m_styleDeclarationPendingMutation || m_isSettingStyleSheetText; }
181 183
182 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*); 184 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*);
183 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::RuleMatch> > buildArrayForMa tchedRuleList(CSSRuleList*, Element*); 185 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::RuleMatch> > buildArrayForMa tchedRuleList(CSSRuleList*, Element*);
184 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForAttributesStyle(Element *); 186 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForAttributesStyle(Element *);
185 187
186 // InspectorDOMAgent::DOMListener implementation 188 // InspectorDOMAgent::DOMListener implementation
187 virtual void didRemoveDocument(Document*) OVERRIDE; 189 virtual void didRemoveDocument(Document*) OVERRIDE;
188 virtual void didRemoveDOMNode(Node*) OVERRIDE; 190 virtual void didRemoveDOMNode(Node*) OVERRIDE;
189 virtual void didModifyDOMAttr(Element*) OVERRIDE; 191 virtual void didModifyDOMAttr(Element*) OVERRIDE;
190 192
191 // InspectorStyleSheet::Listener implementation 193 // InspectorStyleSheet::Listener implementation
192 virtual void styleSheetChanged(InspectorStyleSheetBase*) OVERRIDE; 194 virtual void styleSheetChanged(InspectorStyleSheetBase*) OVERRIDE;
193 virtual void willReparseStyleSheet() OVERRIDE; 195 virtual void willReparseStyleSheet() OVERRIDE;
194 virtual void didReparseStyleSheet() OVERRIDE; 196 virtual void didReparseStyleSheet() OVERRIDE;
195 197
196 void resetPseudoStates(); 198 void resetPseudoStates();
197 199
198 InspectorFrontend::CSS* m_frontend; 200 InspectorFrontend::CSS* m_frontend;
199 InspectorDOMAgent* m_domAgent; 201 RawPtrWillBeMember<InspectorDOMAgent> m_domAgent;
200 InspectorPageAgent* m_pageAgent; 202 RawPtrWillBeMember<InspectorPageAgent> m_pageAgent;
201 InspectorResourceAgent* m_resourceAgent; 203 RawPtrWillBeMember<InspectorResourceAgent> m_resourceAgent;
202 204
203 IdToInspectorStyleSheet m_idToInspectorStyleSheet; 205 IdToInspectorStyleSheet m_idToInspectorStyleSheet;
204 IdToInspectorStyleSheetForInlineStyle m_idToInspectorStyleSheetForInlineStyl e; 206 IdToInspectorStyleSheetForInlineStyle m_idToInspectorStyleSheetForInlineStyl e;
205 HashMap<CSSStyleSheet*, RefPtr<InspectorStyleSheet> > m_cssStyleSheetToInspe ctorStyleSheet; 207 WillBeHeapHashMap<RawPtrWillBeMember<CSSStyleSheet>, RefPtr<InspectorStyleSh eet> > m_cssStyleSheetToInspectorStyleSheet;
206 typedef HashMap<Document*, OwnPtr<HashSet<CSSStyleSheet*> > > DocumentStyleS heets; 208 typedef WillBeHeapHashMap<RawPtrWillBeMember<Document>, OwnPtrWillBeMember<W illBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> > > > DocumentStyleSheets;
207 DocumentStyleSheets m_documentToCSSStyleSheets; 209 DocumentStyleSheets m_documentToCSSStyleSheets;
208 HashSet<Document*> m_invalidatedDocuments; 210 WillBeHeapHashSet<RawPtrWillBeMember<Document> > m_invalidatedDocuments;
209 211
210 NodeToInspectorStyleSheet m_nodeToInspectorStyleSheet; 212 NodeToInspectorStyleSheet m_nodeToInspectorStyleSheet;
211 WillBePersistentHeapHashMap<RefPtrWillBeMember<Document>, RefPtr<InspectorSt yleSheet> > m_documentToViaInspectorStyleSheet; // "via inspector" stylesheets 213 WillBeHeapHashMap<RefPtrWillBeMember<Document>, RefPtr<InspectorStyleSheet> > m_documentToViaInspectorStyleSheet; // "via inspector" stylesheets
212 NodeIdToForcedPseudoState m_nodeIdToForcedPseudoState; 214 NodeIdToForcedPseudoState m_nodeIdToForcedPseudoState;
213 215
214 RefPtrWillBePersistent<CSSStyleSheet> m_inspectorUserAgentStyleSheet; 216 RefPtrWillBeMember<CSSStyleSheet> m_inspectorUserAgentStyleSheet;
215 217
216 int m_lastStyleSheetId; 218 int m_lastStyleSheetId;
217 int m_styleSheetsPendingMutation; 219 int m_styleSheetsPendingMutation;
218 bool m_styleDeclarationPendingMutation; 220 bool m_styleDeclarationPendingMutation;
219 bool m_creatingViaInspectorStyleSheet; 221 bool m_creatingViaInspectorStyleSheet;
220 bool m_isSettingStyleSheetText; 222 bool m_isSettingStyleSheetText;
221 223
222 friend class InspectorResourceContentLoaderCallback; 224 friend class InspectorResourceContentLoaderCallback;
223 friend class StyleSheetBinder; 225 friend class StyleSheetBinder;
224 }; 226 };
225 227
226 228
227 } // namespace blink 229 } // namespace blink
228 230
229 #endif // !defined(InspectorCSSAgent_h) 231 #endif // !defined(InspectorCSSAgent_h)
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorBaseAgent.cpp ('k') | Source/core/inspector/InspectorCSSAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698