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

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

Powered by Google App Engine
This is Rietveld 408576698