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

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

Issue 153233002: *** DO NOT LAND *** Remove regions support, keeping a bare minimum to support "region-based"... (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 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
« no previous file with comments | « Source/core/frame/UseCounter.cpp ('k') | Source/core/inspector/InspectorCSSAgent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 24 matching lines...) Expand all
35 #include "wtf/HashCountedSet.h" 35 #include "wtf/HashCountedSet.h"
36 #include "wtf/HashMap.h" 36 #include "wtf/HashMap.h"
37 #include "wtf/HashSet.h" 37 #include "wtf/HashSet.h"
38 #include "wtf/PassRefPtr.h" 38 #include "wtf/PassRefPtr.h"
39 #include "wtf/RefPtr.h" 39 #include "wtf/RefPtr.h"
40 #include "wtf/Vector.h" 40 #include "wtf/Vector.h"
41 #include "wtf/text/WTFString.h" 41 #include "wtf/text/WTFString.h"
42 42
43 namespace WebCore { 43 namespace WebCore {
44 44
45 class ChangeRegionOversetTask;
46 struct CSSParserString; 45 struct CSSParserString;
47 class CSSRule; 46 class CSSRule;
48 class CSSRuleList; 47 class CSSRuleList;
49 class CSSStyleRule; 48 class CSSStyleRule;
50 class CSSStyleSheet; 49 class CSSStyleSheet;
51 class Document; 50 class Document;
52 class Element; 51 class Element;
53 class InspectorFrontend; 52 class InspectorFrontend;
54 class InspectorResourceAgent; 53 class InspectorResourceAgent;
55 class InstrumentingAgents; 54 class InstrumentingAgents;
56 class MediaList; 55 class MediaList;
57 class Node; 56 class Node;
58 class NodeList; 57 class NodeList;
59 class PlatformFontUsage; 58 class PlatformFontUsage;
60 class RenderText; 59 class RenderText;
61 class StyleResolver; 60 class StyleResolver;
62 class UpdateRegionLayoutTask;
63 61
64 class InspectorCSSAgent FINAL 62 class InspectorCSSAgent FINAL
65 : public InspectorBaseAgent<InspectorCSSAgent> 63 : public InspectorBaseAgent<InspectorCSSAgent>
66 , public InspectorDOMAgent::DOMListener 64 , public InspectorDOMAgent::DOMListener
67 , public InspectorBackendDispatcher::CSSCommandHandler 65 , public InspectorBackendDispatcher::CSSCommandHandler
68 , public InspectorStyleSheet::Listener { 66 , public InspectorStyleSheet::Listener {
69 WTF_MAKE_NONCOPYABLE(InspectorCSSAgent); 67 WTF_MAKE_NONCOPYABLE(InspectorCSSAgent);
70 public: 68 public:
71 enum MediaListSource { 69 enum MediaListSource {
72 MediaListSourceLinkedSheet, 70 MediaListSourceLinkedSheet,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 bool forcePseudoState(Element*, CSSSelector::PseudoType); 106 bool forcePseudoState(Element*, CSSSelector::PseudoType);
109 virtual void setFrontend(InspectorFrontend*) OVERRIDE; 107 virtual void setFrontend(InspectorFrontend*) OVERRIDE;
110 virtual void clearFrontend() OVERRIDE; 108 virtual void clearFrontend() OVERRIDE;
111 virtual void discardAgent() OVERRIDE; 109 virtual void discardAgent() OVERRIDE;
112 virtual void restore() OVERRIDE; 110 virtual void restore() OVERRIDE;
113 virtual void enable(ErrorString*, PassRefPtr<EnableCallback>) OVERRIDE; 111 virtual void enable(ErrorString*, PassRefPtr<EnableCallback>) OVERRIDE;
114 virtual void disable(ErrorString*) OVERRIDE; 112 virtual void disable(ErrorString*) OVERRIDE;
115 void reset(); 113 void reset();
116 void didCommitLoad(Frame*, DocumentLoader*); 114 void didCommitLoad(Frame*, DocumentLoader*);
117 void mediaQueryResultChanged(); 115 void mediaQueryResultChanged();
118 void didCreateNamedFlow(Document*, NamedFlow*);
119 void willRemoveNamedFlow(Document*, NamedFlow*);
120 void willMutateRules(); 116 void willMutateRules();
121 void didMutateRules(CSSStyleSheet*); 117 void didMutateRules(CSSStyleSheet*);
122 void willMutateStyle(); 118 void willMutateStyle();
123 void didMutateStyle(CSSStyleDeclaration*, bool); 119 void didMutateStyle(CSSStyleDeclaration*, bool);
124 120
125 private:
126 void regionLayoutUpdated(NamedFlow*, int documentNodeId);
127 void regionOversetChanged(NamedFlow*, int documentNodeId);
128
129 public: 121 public:
130 void didUpdateRegionLayout(Document*, NamedFlow*);
131 void didChangeRegionOverset(Document*, NamedFlow*);
132
133 void activeStyleSheetsUpdated(Document*); 122 void activeStyleSheetsUpdated(Document*);
134 void frameDetachedFromParent(Frame*); 123 void frameDetachedFromParent(Frame*);
135 124
136 virtual void getComputedStyleForNode(ErrorString*, int nodeId, RefPtr<TypeBu ilder::Array<TypeBuilder::CSS::CSSComputedStyleProperty> >&) OVERRIDE; 125 virtual void getComputedStyleForNode(ErrorString*, int nodeId, RefPtr<TypeBu ilder::Array<TypeBuilder::CSS::CSSComputedStyleProperty> >&) OVERRIDE;
137 virtual void getPlatformFontsForNode(ErrorString*, int nodeId, String* cssFa milyName, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::PlatformFontUsage> >&) OVE RRIDE; 126 virtual void getPlatformFontsForNode(ErrorString*, int nodeId, String* cssFa milyName, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::PlatformFontUsage> >&) OVE RRIDE;
138 virtual void getInlineStylesForNode(ErrorString*, int nodeId, RefPtr<TypeBui lder::CSS::CSSStyle>& inlineStyle, RefPtr<TypeBuilder::CSS::CSSStyle>& attribute s) OVERRIDE; 127 virtual void getInlineStylesForNode(ErrorString*, int nodeId, RefPtr<TypeBui lder::CSS::CSSStyle>& inlineStyle, RefPtr<TypeBuilder::CSS::CSSStyle>& attribute s) OVERRIDE;
139 virtual void getMatchedStylesForNode(ErrorString*, int nodeId, const bool* i ncludePseudo, const bool* includeInherited, RefPtr<TypeBuilder::Array<TypeBuilde r::CSS::RuleMatch> >& matchedCSSRules, RefPtr<TypeBuilder::Array<TypeBuilder::CS S::PseudoIdMatches> >&, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::InheritedSty leEntry> >& inheritedEntries) OVERRIDE; 128 virtual void getMatchedStylesForNode(ErrorString*, int nodeId, const bool* i ncludePseudo, const bool* includeInherited, RefPtr<TypeBuilder::Array<TypeBuilde r::CSS::RuleMatch> >& matchedCSSRules, RefPtr<TypeBuilder::Array<TypeBuilder::CS S::PseudoIdMatches> >&, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::InheritedSty leEntry> >& inheritedEntries) OVERRIDE;
140 virtual void getAllStyleSheets(ErrorString*, RefPtr<TypeBuilder::Array<TypeB uilder::CSS::CSSStyleSheetHeader> >& styleSheetInfos) OVERRIDE; 129 virtual void getAllStyleSheets(ErrorString*, RefPtr<TypeBuilder::Array<TypeB uilder::CSS::CSSStyleSheetHeader> >& styleSheetInfos) OVERRIDE;
141 virtual void getStyleSheet(ErrorString*, const String& styleSheetId, RefPtr< TypeBuilder::CSS::CSSStyleSheetBody>& result) OVERRIDE; 130 virtual void getStyleSheet(ErrorString*, const String& styleSheetId, RefPtr< TypeBuilder::CSS::CSSStyleSheetBody>& result) OVERRIDE;
142 virtual void getStyleSheetText(ErrorString*, const String& styleSheetId, Str ing* result) OVERRIDE; 131 virtual void getStyleSheetText(ErrorString*, const String& styleSheetId, Str ing* result) OVERRIDE;
143 virtual void setStyleSheetText(ErrorString*, const String& styleSheetId, con st String& text) OVERRIDE; 132 virtual void setStyleSheetText(ErrorString*, const String& styleSheetId, con st String& text) OVERRIDE;
144 virtual void setStyleText(ErrorString*, const RefPtr<JSONObject>& styleId, c onst String& text, RefPtr<TypeBuilder::CSS::CSSStyle>& result) OVERRIDE; 133 virtual void setStyleText(ErrorString*, const RefPtr<JSONObject>& styleId, c onst String& text, RefPtr<TypeBuilder::CSS::CSSStyle>& result) OVERRIDE;
145 virtual void setPropertyText(ErrorString*, const RefPtr<JSONObject>& styleId , int propertyIndex, const String& text, bool overwrite, RefPtr<TypeBuilder::CSS ::CSSStyle>& result) OVERRIDE; 134 virtual void setPropertyText(ErrorString*, const RefPtr<JSONObject>& styleId , int propertyIndex, const String& text, bool overwrite, RefPtr<TypeBuilder::CSS ::CSSStyle>& result) OVERRIDE;
146 virtual void toggleProperty(ErrorString*, const RefPtr<JSONObject>& styleId, int propertyIndex, bool disable, RefPtr<TypeBuilder::CSS::CSSStyle>& result) OV ERRIDE; 135 virtual void toggleProperty(ErrorString*, const RefPtr<JSONObject>& styleId, int propertyIndex, bool disable, RefPtr<TypeBuilder::CSS::CSSStyle>& result) OV ERRIDE;
147 virtual void setRuleSelector(ErrorString*, const RefPtr<JSONObject>& ruleId, const String& selector, RefPtr<TypeBuilder::CSS::CSSRule>& result) OVERRIDE; 136 virtual void setRuleSelector(ErrorString*, const RefPtr<JSONObject>& ruleId, const String& selector, RefPtr<TypeBuilder::CSS::CSSRule>& result) OVERRIDE;
148 virtual void addRule(ErrorString*, int contextNodeId, const String& selector , RefPtr<TypeBuilder::CSS::CSSRule>& result) OVERRIDE; 137 virtual void addRule(ErrorString*, int contextNodeId, const String& selector , RefPtr<TypeBuilder::CSS::CSSRule>& result) OVERRIDE;
149 virtual void getSupportedCSSProperties(ErrorString*, RefPtr<TypeBuilder::Arr ay<TypeBuilder::CSS::CSSPropertyInfo> >& result) OVERRIDE; 138 virtual void getSupportedCSSProperties(ErrorString*, RefPtr<TypeBuilder::Arr ay<TypeBuilder::CSS::CSSPropertyInfo> >& result) OVERRIDE;
150 virtual void forcePseudoState(ErrorString*, int nodeId, const RefPtr<JSONArr ay>& forcedPseudoClasses) OVERRIDE; 139 virtual void forcePseudoState(ErrorString*, int nodeId, const RefPtr<JSONArr ay>& forcedPseudoClasses) OVERRIDE;
151 virtual void getNamedFlowCollection(ErrorString*, int documentNodeId, RefPtr <TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> >& result) OVERRIDE;
152 140
153 PassRefPtr<TypeBuilder::CSS::CSSMedia> buildMediaObject(const MediaList*, Me diaListSource, const String&, CSSStyleSheet*); 141 PassRefPtr<TypeBuilder::CSS::CSSMedia> buildMediaObject(const MediaList*, Me diaListSource, const String&, CSSStyleSheet*);
154 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> > buildMediaListCh ain(CSSRule*); 142 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSMedia> > buildMediaListCh ain(CSSRule*);
155 143
156 private: 144 private:
157 class StyleSheetAction; 145 class StyleSheetAction;
158 class SetStyleSheetTextAction; 146 class SetStyleSheetTextAction;
159 class SetStyleTextAction; 147 class SetStyleTextAction;
160 class SetPropertyTextAction; 148 class SetPropertyTextAction;
161 class TogglePropertyAction; 149 class TogglePropertyAction;
162 class SetRuleSelectorAction; 150 class SetRuleSelectorAction;
163 class AddRuleAction; 151 class AddRuleAction;
164 class EnableResourceClient; 152 class EnableResourceClient;
165 153
166 InspectorCSSAgent(InspectorDOMAgent*, InspectorPageAgent*, InspectorResource Agent*); 154 InspectorCSSAgent(InspectorDOMAgent*, InspectorPageAgent*, InspectorResource Agent*);
167 155
168 typedef HashMap<String, RefPtr<InspectorStyleSheet> > IdToInspectorStyleShee t; 156 typedef HashMap<String, RefPtr<InspectorStyleSheet> > IdToInspectorStyleShee t;
169 typedef HashMap<Node*, RefPtr<InspectorStyleSheetForInlineStyle> > NodeToIns pectorStyleSheet; // bogus "stylesheets" with elements' inline styles 157 typedef HashMap<Node*, RefPtr<InspectorStyleSheetForInlineStyle> > NodeToIns pectorStyleSheet; // bogus "stylesheets" with elements' inline styles
170 typedef HashMap<int, unsigned> NodeIdToForcedPseudoState; 158 typedef HashMap<int, unsigned> NodeIdToForcedPseudoState;
171 159
172 void wasEnabled(PassRefPtr<EnableCallback>); 160 void wasEnabled(PassRefPtr<EnableCallback>);
173 void resetNonPersistentData(); 161 void resetNonPersistentData();
174 InspectorStyleSheetForInlineStyle* asInspectorStyleSheet(Element* element); 162 InspectorStyleSheetForInlineStyle* asInspectorStyleSheet(Element* element);
175 Element* elementForId(ErrorString*, int nodeId); 163 Element* elementForId(ErrorString*, int nodeId);
176 int documentNodeWithRequestedFlowsId(Document*);
177 void collectAllStyleSheets(Vector<InspectorStyleSheet*>&); 164 void collectAllStyleSheets(Vector<InspectorStyleSheet*>&);
178 void collectAllDocumentStyleSheets(Document*, Vector<CSSStyleSheet*>&); 165 void collectAllDocumentStyleSheets(Document*, Vector<CSSStyleSheet*>&);
179 void collectStyleSheets(CSSStyleSheet*, Vector<CSSStyleSheet*>&); 166 void collectStyleSheets(CSSStyleSheet*, Vector<CSSStyleSheet*>&);
180 167
181 void updateActiveStyleSheetsForDocument(Document*, StyleSheetsUpdateType); 168 void updateActiveStyleSheetsForDocument(Document*, StyleSheetsUpdateType);
182 void updateActiveStyleSheets(Frame*, const Vector<CSSStyleSheet*>&, StyleShe etsUpdateType); 169 void updateActiveStyleSheets(Frame*, const Vector<CSSStyleSheet*>&, StyleShe etsUpdateType);
183 170
184 void collectPlatformFontsForRenderer(RenderText*, HashCountedSet<String>*); 171 void collectPlatformFontsForRenderer(RenderText*, HashCountedSet<String>*);
185 172
186 InspectorStyleSheet* bindStyleSheet(CSSStyleSheet*); 173 InspectorStyleSheet* bindStyleSheet(CSSStyleSheet*);
187 String unbindStyleSheet(InspectorStyleSheet*); 174 String unbindStyleSheet(InspectorStyleSheet*);
188 InspectorStyleSheet* viaInspectorStyleSheet(Document*, bool createIfAbsent); 175 InspectorStyleSheet* viaInspectorStyleSheet(Document*, bool createIfAbsent);
189 InspectorStyleSheet* assertStyleSheetForId(ErrorString*, const String&); 176 InspectorStyleSheet* assertStyleSheetForId(ErrorString*, const String&);
190 TypeBuilder::CSS::StyleSheetOrigin::Enum detectOrigin(CSSStyleSheet* pageSty leSheet, Document* ownerDocument); 177 TypeBuilder::CSS::StyleSheetOrigin::Enum detectOrigin(CSSStyleSheet* pageSty leSheet, Document* ownerDocument);
191 bool styleSheetEditInProgress() const { return m_styleSheetsPendingMutation || m_styleDeclarationPendingMutation || m_isSettingStyleSheetText; } 178 bool styleSheetEditInProgress() const { return m_styleSheetsPendingMutation || m_styleDeclarationPendingMutation || m_isSettingStyleSheetText; }
192 179
193 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*); 180 PassRefPtr<TypeBuilder::CSS::CSSRule> buildObjectForRule(CSSStyleRule*);
194 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSRule> > buildArrayForRule List(CSSRuleList*); 181 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSRule> > buildArrayForRule List(CSSRuleList*);
195 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::RuleMatch> > buildArrayForMa tchedRuleList(CSSRuleList*, Element*); 182 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::RuleMatch> > buildArrayForMa tchedRuleList(CSSRuleList*, Element*);
196 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForAttributesStyle(Element *); 183 PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForAttributesStyle(Element *);
197 PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > buildArrayForRegio ns(ErrorString*, PassRefPtr<NodeList>, int documentNodeId);
198 PassRefPtr<TypeBuilder::CSS::NamedFlow> buildObjectForNamedFlow(ErrorString* , NamedFlow*, int documentNodeId);
199 184
200 // InspectorDOMAgent::DOMListener implementation 185 // InspectorDOMAgent::DOMListener implementation
201 virtual void didRemoveDocument(Document*) OVERRIDE; 186 virtual void didRemoveDocument(Document*) OVERRIDE;
202 virtual void didRemoveDOMNode(Node*) OVERRIDE; 187 virtual void didRemoveDOMNode(Node*) OVERRIDE;
203 virtual void didModifyDOMAttr(Element*) OVERRIDE; 188 virtual void didModifyDOMAttr(Element*) OVERRIDE;
204 189
205 // InspectorStyleSheet::Listener implementation 190 // InspectorStyleSheet::Listener implementation
206 virtual void styleSheetChanged(InspectorStyleSheet*) OVERRIDE; 191 virtual void styleSheetChanged(InspectorStyleSheet*) OVERRIDE;
207 virtual void willReparseStyleSheet() OVERRIDE; 192 virtual void willReparseStyleSheet() OVERRIDE;
208 virtual void didReparseStyleSheet() OVERRIDE; 193 virtual void didReparseStyleSheet() OVERRIDE;
209 194
210 void resetPseudoStates(); 195 void resetPseudoStates();
211 196
212 InspectorFrontend::CSS* m_frontend; 197 InspectorFrontend::CSS* m_frontend;
213 InspectorDOMAgent* m_domAgent; 198 InspectorDOMAgent* m_domAgent;
214 InspectorPageAgent* m_pageAgent; 199 InspectorPageAgent* m_pageAgent;
215 InspectorResourceAgent* m_resourceAgent; 200 InspectorResourceAgent* m_resourceAgent;
216 201
217 IdToInspectorStyleSheet m_idToInspectorStyleSheet; 202 IdToInspectorStyleSheet m_idToInspectorStyleSheet;
218 HashMap<CSSStyleSheet*, RefPtr<InspectorStyleSheet> > m_cssStyleSheetToInspe ctorStyleSheet; 203 HashMap<CSSStyleSheet*, RefPtr<InspectorStyleSheet> > m_cssStyleSheetToInspe ctorStyleSheet;
219 HashMap<Frame*, OwnPtr<HashSet<CSSStyleSheet*> > > m_frameToCSSStyleSheets; 204 HashMap<Frame*, OwnPtr<HashSet<CSSStyleSheet*> > > m_frameToCSSStyleSheets;
220 205
221 NodeToInspectorStyleSheet m_nodeToInspectorStyleSheet; 206 NodeToInspectorStyleSheet m_nodeToInspectorStyleSheet;
222 HashMap<RefPtr<Document>, RefPtr<InspectorStyleSheet> > m_documentToViaInspe ctorStyleSheet; // "via inspector" stylesheets 207 HashMap<RefPtr<Document>, RefPtr<InspectorStyleSheet> > m_documentToViaInspe ctorStyleSheet; // "via inspector" stylesheets
223 NodeIdToForcedPseudoState m_nodeIdToForcedPseudoState; 208 NodeIdToForcedPseudoState m_nodeIdToForcedPseudoState;
224 HashSet<int> m_namedFlowCollectionsRequested;
225 OwnPtr<UpdateRegionLayoutTask> m_updateRegionLayoutTask;
226 OwnPtr<ChangeRegionOversetTask> m_changeRegionOversetTask;
227 209
228 RefPtr<CSSStyleSheet> m_inspectorUserAgentStyleSheet; 210 RefPtr<CSSStyleSheet> m_inspectorUserAgentStyleSheet;
229 211
230 int m_lastStyleSheetId; 212 int m_lastStyleSheetId;
231 int m_styleSheetsPendingMutation; 213 int m_styleSheetsPendingMutation;
232 bool m_styleDeclarationPendingMutation; 214 bool m_styleDeclarationPendingMutation;
233 bool m_creatingViaInspectorStyleSheet; 215 bool m_creatingViaInspectorStyleSheet;
234 bool m_isSettingStyleSheetText; 216 bool m_isSettingStyleSheetText;
235 217
236 friend class ChangeRegionOversetTask;
237 friend class EnableResourceClient; 218 friend class EnableResourceClient;
238 friend class StyleSheetBinder; 219 friend class StyleSheetBinder;
239 friend class UpdateRegionLayoutTask;
240 }; 220 };
241 221
242 222
243 } // namespace WebCore 223 } // namespace WebCore
244 224
245 #endif // !defined(InspectorCSSAgent_h) 225 #endif // !defined(InspectorCSSAgent_h)
OLDNEW
« no previous file with comments | « Source/core/frame/UseCounter.cpp ('k') | Source/core/inspector/InspectorCSSAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698