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

Unified Diff: Source/core/inspector/InspectorCSSAgent.h

Issue 17030009: Inspector: wrapped inspector agent instances into factory-like wrappers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Made InspectorBaseAgent RefCounted Created 7 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/InspectorCSSAgent.h
diff --git a/Source/core/inspector/InspectorCSSAgent.h b/Source/core/inspector/InspectorCSSAgent.h
index 5eafc008a6bf6e1b02ee28de69195d2122a73b5e..4a7864508997af94496151a30cbd279fbd67b451 100644
--- a/Source/core/inspector/InspectorCSSAgent.h
+++ b/Source/core/inspector/InspectorCSSAgent.h
@@ -67,7 +67,7 @@ class UpdateRegionLayoutTask;
typedef HashMap<CSSStyleSheet*, RefPtr<InspectorStyleSheet> > CSSStyleSheetToInspectorStyleSheet;
class InspectorCSSAgent
- : public InspectorBaseAgent<InspectorCSSAgent>
+ : public InspectorBaseAgent
, public InspectorDOMAgent::DOMListener
, public InspectorBackendDispatcher::CSSCommandHandler
, public InspectorStyleSheet::Listener {
@@ -100,9 +100,9 @@ public:
static CSSStyleRule* asCSSStyleRule(CSSRule*);
static bool cssErrorFilter(const CSSParserString& content, int propertyId, int errorType);
- static PassOwnPtr<InspectorCSSAgent> create(InstrumentingAgents* instrumentingAgents, InspectorCompositeState* state, InspectorDOMAgent* domAgent, InspectorPageAgent* pageAgent)
+ static PassRefPtr<InspectorCSSAgent> create(InstrumentingAgents* instrumentingAgents, InspectorState* state, PassRefPtr<InspectorDOMAgent> domAgent, PassRefPtr<InspectorPageAgent> pageAgent)
{
- return adoptPtr(new InspectorCSSAgent(instrumentingAgents, state, domAgent, pageAgent));
+ return adoptRef(new InspectorCSSAgent(instrumentingAgents, state, domAgent, pageAgent));
}
~InspectorCSSAgent();
@@ -159,7 +159,7 @@ private:
class SetRuleSelectorAction;
class AddRuleAction;
- InspectorCSSAgent(InstrumentingAgents*, InspectorCompositeState*, InspectorDOMAgent*, InspectorPageAgent*);
+ InspectorCSSAgent(InstrumentingAgents*, InspectorState*, PassRefPtr<InspectorDOMAgent>, PassRefPtr<InspectorPageAgent>);
typedef HashMap<String, RefPtr<InspectorStyleSheet> > IdToInspectorStyleSheet;
typedef HashMap<Node*, RefPtr<InspectorStyleSheetForInlineStyle> > NodeToInspectorStyleSheet; // bogus "stylesheets" with elements' inline styles
@@ -197,8 +197,8 @@ private:
void resetPseudoStates();
InspectorFrontend::CSS* m_frontend;
- InspectorDOMAgent* m_domAgent;
- InspectorPageAgent* m_pageAgent;
+ RefPtr<InspectorDOMAgent> m_domAgent;
+ RefPtr<InspectorPageAgent> m_pageAgent;
IdToInspectorStyleSheet m_idToInspectorStyleSheet;
CSSStyleSheetToInspectorStyleSheet m_cssStyleSheetToInspectorStyleSheet;
@@ -216,6 +216,17 @@ private:
friend class StyleSheetBinder;
};
+class InspectorCSSController: public InspectorBaseController<InspectorCSSController, InspectorCSSAgent> {
+public:
+
+ static PassOwnPtr<InspectorCSSController> create(InstrumentingAgents* instrumentingAgents, InspectorCompositeState* compositeState, InspectorDOMController* domController, InspectorPageController* pageController)
+ {
+ return adoptPtr(new InspectorCSSController(instrumentingAgents, compositeState, domController, pageController));
+ }
+
+protected:
+ InspectorCSSController(InstrumentingAgents*, InspectorCompositeState*, InspectorDOMController*, InspectorPageController*);
+};
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698