Chromium Code Reviews| Index: Source/core/inspector/InspectorTimelineAgent.h |
| diff --git a/Source/core/inspector/InspectorTimelineAgent.h b/Source/core/inspector/InspectorTimelineAgent.h |
| index 68f863c15ed64a598e7be0e50fe6ecc19c49cd9e..d9611b7c227522f882a2fe44fbae318bab9a8a8e 100644 |
| --- a/Source/core/inspector/InspectorTimelineAgent.h |
| +++ b/Source/core/inspector/InspectorTimelineAgent.h |
| @@ -89,8 +89,7 @@ class XMLHttpRequest; |
| typedef String ErrorString; |
| class InspectorTimelineAgent FINAL |
| - : public TraceEventTarget<InspectorTimelineAgent> |
| - , public InspectorBaseAgent<InspectorTimelineAgent> |
| + : public InspectorBaseAgent<InspectorTimelineAgent> |
| , public ScriptGCEventListener |
| , public InspectorBackendDispatcher::TimelineCommandHandler |
| , public PlatformInstrumentationClient { |
| @@ -114,13 +113,41 @@ public: |
| uint64_t limitGPUMemoryBytes; |
| }; |
| - static PassOwnPtr<InspectorTimelineAgent> create(InspectorPageAgent* pageAgent, InspectorLayerTreeAgent* layerTreeAgent, |
| + class TraceEventListener : public TraceEventDispatcher::TraceEventListener { |
|
haraken
2014/07/14 12:33:40
Can we rename this to TimelineAgentTraceEventListe
keishi
2014/07/15 05:52:52
Done. Changed to InspectorTimelineAgentTraceEventL
|
| + public: |
| + typedef void (InspectorTimelineAgent::*TraceEventHandlerMethod)(const TraceEventDispatcher::TraceEvent&); |
| + TraceEventListener(InspectorTimelineAgent* instance, TraceEventHandlerMethod method) |
| + : m_instance(instance) |
| + , m_method(method) |
| + { |
| + } |
| + virtual void call(const TraceEventDispatcher::TraceEvent& event) OVERRIDE |
| + { |
| + (m_instance->*m_method)(event); |
| + } |
| + virtual void* target() OVERRIDE |
| + { |
| + return m_instance; |
| + } |
| + virtual void trace(Visitor* visitor) OVERRIDE |
| + { |
| + visitor->trace(m_instance); |
| + TraceEventDispatcher::TraceEventListener::trace(visitor); |
| + } |
| + |
| + private: |
| + RawPtrWillBeMember<InspectorTimelineAgent> m_instance; |
| + TraceEventHandlerMethod m_method; |
| + }; |
| + |
| + static PassOwnPtrWillBeRawPtr<InspectorTimelineAgent> create(InspectorPageAgent* pageAgent, InspectorLayerTreeAgent* layerTreeAgent, |
| InspectorOverlay* overlay, InspectorType type, InspectorClient* client) |
| { |
| - return adoptPtr(new InspectorTimelineAgent(pageAgent, layerTreeAgent, overlay, type, client)); |
| + return adoptPtrWillBeNoop(new InspectorTimelineAgent(pageAgent, layerTreeAgent, overlay, type, client)); |
| } |
| virtual ~InspectorTimelineAgent(); |
| + virtual void trace(Visitor*) OVERRIDE; |
| virtual void setFrontend(InspectorFrontend*) OVERRIDE; |
| virtual void clearFrontend() OVERRIDE; |
| @@ -286,8 +313,8 @@ private: |
| void innerStop(bool fromConsole); |
| void setLiveEvents(const String&); |
| - InspectorPageAgent* m_pageAgent; |
| - InspectorLayerTreeAgent* m_layerTreeAgent; |
| + RawPtrWillBeMember<InspectorPageAgent> m_pageAgent; |
| + RawPtrWillBeMember<InspectorLayerTreeAgent> m_layerTreeAgent; |
| InspectorFrontend::Timeline* m_frontend; |
| InspectorClient* m_client; |
| InspectorOverlay* m_overlay; |