OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 : m_startOffset(0) | 102 : m_startOffset(0) |
103 { | 103 { |
104 } | 104 } |
105 double fromMonotonicallyIncreasingTime(double time) const { return (time -
m_startOffset) * 1000.0; } | 105 double fromMonotonicallyIncreasingTime(double time) const { return (time -
m_startOffset) * 1000.0; } |
106 void reset(); | 106 void reset(); |
107 | 107 |
108 private: | 108 private: |
109 double m_startOffset; | 109 double m_startOffset; |
110 }; | 110 }; |
111 | 111 |
112 class InspectorTimelineAgent | 112 class InspectorTimelineAgent FINAL |
113 : public TraceEventTarget<InspectorTimelineAgent> | 113 : public TraceEventTarget<InspectorTimelineAgent> |
114 , public InspectorBaseAgent<InspectorTimelineAgent> | 114 , public InspectorBaseAgent<InspectorTimelineAgent> |
115 , public ScriptGCEventListener | 115 , public ScriptGCEventListener |
116 , public InspectorBackendDispatcher::TimelineCommandHandler | 116 , public InspectorBackendDispatcher::TimelineCommandHandler |
117 , public PlatformInstrumentationClient { | 117 , public PlatformInstrumentationClient { |
118 WTF_MAKE_NONCOPYABLE(InspectorTimelineAgent); | 118 WTF_MAKE_NONCOPYABLE(InspectorTimelineAgent); |
119 public: | 119 public: |
120 enum InspectorType { PageInspector, WorkerInspector }; | 120 enum InspectorType { PageInspector, WorkerInspector }; |
121 | 121 |
122 class GPUEvent { | 122 class GPUEvent { |
123 public: | 123 public: |
124 enum Phase { PhaseBegin, PhaseEnd }; | 124 enum Phase { PhaseBegin, PhaseEnd }; |
125 GPUEvent(double timestamp, int phase, bool foreign, size_t usedGPUMemory
Bytes) : | 125 GPUEvent(double timestamp, int phase, bool foreign, size_t usedGPUMemory
Bytes) : |
126 timestamp(timestamp), | 126 timestamp(timestamp), |
127 phase(static_cast<Phase>(phase)), | 127 phase(static_cast<Phase>(phase)), |
128 foreign(foreign), | 128 foreign(foreign), |
129 usedGPUMemoryBytes(usedGPUMemoryBytes) { } | 129 usedGPUMemoryBytes(usedGPUMemoryBytes) { } |
130 double timestamp; | 130 double timestamp; |
131 Phase phase; | 131 Phase phase; |
132 bool foreign; | 132 bool foreign; |
133 size_t usedGPUMemoryBytes; | 133 size_t usedGPUMemoryBytes; |
134 }; | 134 }; |
135 | 135 |
136 static PassOwnPtr<InspectorTimelineAgent> create(InstrumentingAgents* instru
mentingAgents, InspectorPageAgent* pageAgent, InspectorDOMAgent* domAgent, Inspe
ctorOverlay* overlay, InspectorCompositeState* state, InspectorType type, Inspec
torClient* client) | 136 static PassOwnPtr<InspectorTimelineAgent> create(InstrumentingAgents* instru
mentingAgents, InspectorPageAgent* pageAgent, InspectorDOMAgent* domAgent, Inspe
ctorOverlay* overlay, InspectorCompositeState* state, InspectorType type, Inspec
torClient* client) |
137 { | 137 { |
138 return adoptPtr(new InspectorTimelineAgent(instrumentingAgents, pageAgen
t, domAgent, overlay, state, type, client)); | 138 return adoptPtr(new InspectorTimelineAgent(instrumentingAgents, pageAgen
t, domAgent, overlay, state, type, client)); |
139 } | 139 } |
140 | 140 |
141 ~InspectorTimelineAgent(); | 141 virtual ~InspectorTimelineAgent(); |
142 | 142 |
143 virtual void setFrontend(InspectorFrontend*); | 143 virtual void setFrontend(InspectorFrontend*) OVERRIDE; |
144 virtual void clearFrontend(); | 144 virtual void clearFrontend() OVERRIDE; |
145 virtual void restore(); | 145 virtual void restore() OVERRIDE; |
146 | 146 |
147 virtual void enable(ErrorString*); | 147 virtual void enable(ErrorString*) OVERRIDE; |
148 virtual void disable(ErrorString*); | 148 virtual void disable(ErrorString*) OVERRIDE; |
149 virtual void start(ErrorString*, const int* maxCallStackDepth, const bool* b
ufferEvents, const bool* includeCounters, const bool* includeGPUEvents); | 149 virtual void start(ErrorString*, const int* maxCallStackDepth, const bool* b
ufferEvents, const bool* includeCounters, const bool* includeGPUEvents) OVERRIDE
; |
150 virtual void stop(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Timel
ine::TimelineEvent> >& events); | 150 virtual void stop(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Timel
ine::TimelineEvent> >& events) OVERRIDE; |
151 | 151 |
152 void setLayerTreeId(int layerTreeId) { m_layerTreeId = layerTreeId; } | 152 void setLayerTreeId(int layerTreeId) { m_layerTreeId = layerTreeId; } |
153 int id() const { return m_id; } | 153 int id() const { return m_id; } |
154 | 154 |
155 void didCommitLoad(); | 155 void didCommitLoad(); |
156 | 156 |
157 // Methods called from WebCore. | 157 // Methods called from WebCore. |
158 bool willCallFunction(ExecutionContext*, const String& scriptName, int scrip
tLine); | 158 bool willCallFunction(ExecutionContext*, const String& scriptName, int scrip
tLine); |
159 void didCallFunction(); | 159 void didCallFunction(); |
160 | 160 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 void didProcessTask(); | 232 void didProcessTask(); |
233 | 233 |
234 void didCreateWebSocket(Document*, unsigned long identifier, const KURL&, co
nst String& protocol); | 234 void didCreateWebSocket(Document*, unsigned long identifier, const KURL&, co
nst String& protocol); |
235 void willSendWebSocketHandshakeRequest(Document*, unsigned long identifier,
const WebSocketHandshakeRequest&); | 235 void willSendWebSocketHandshakeRequest(Document*, unsigned long identifier,
const WebSocketHandshakeRequest&); |
236 void didReceiveWebSocketHandshakeResponse(Document*, unsigned long identifie
r, const WebSocketHandshakeResponse&); | 236 void didReceiveWebSocketHandshakeResponse(Document*, unsigned long identifie
r, const WebSocketHandshakeResponse&); |
237 void didCloseWebSocket(Document*, unsigned long identifier); | 237 void didCloseWebSocket(Document*, unsigned long identifier); |
238 | 238 |
239 void processGPUEvent(const GPUEvent&); | 239 void processGPUEvent(const GPUEvent&); |
240 | 240 |
241 // ScriptGCEventListener methods. | 241 // ScriptGCEventListener methods. |
242 virtual void didGC(double, double, size_t); | 242 virtual void didGC(double, double, size_t) OVERRIDE; |
243 | 243 |
244 // PlatformInstrumentationClient methods. | 244 // PlatformInstrumentationClient methods. |
245 virtual void willDecodeImage(const String& imageType) OVERRIDE; | 245 virtual void willDecodeImage(const String& imageType) OVERRIDE; |
246 virtual void didDecodeImage() OVERRIDE; | 246 virtual void didDecodeImage() OVERRIDE; |
247 virtual void willResizeImage(bool shouldCache) OVERRIDE; | 247 virtual void willResizeImage(bool shouldCache) OVERRIDE; |
248 virtual void didResizeImage() OVERRIDE; | 248 virtual void didResizeImage() OVERRIDE; |
249 | 249 |
250 private: | 250 private: |
251 | 251 |
252 friend class TimelineRecordStack; | 252 friend class TimelineRecordStack; |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 RefPtr<JSONObject> m_gpuTask; | 335 RefPtr<JSONObject> m_gpuTask; |
336 unsigned m_styleRecalcElementCounter; | 336 unsigned m_styleRecalcElementCounter; |
337 typedef HashMap<ThreadIdentifier, TimelineThreadState> ThreadStateMap; | 337 typedef HashMap<ThreadIdentifier, TimelineThreadState> ThreadStateMap; |
338 ThreadStateMap m_threadStates; | 338 ThreadStateMap m_threadStates; |
339 bool m_mayEmitFirstPaint; | 339 bool m_mayEmitFirstPaint; |
340 }; | 340 }; |
341 | 341 |
342 } // namespace WebCore | 342 } // namespace WebCore |
343 | 343 |
344 #endif // !defined(InspectorTimelineAgent_h) | 344 #endif // !defined(InspectorTimelineAgent_h) |
OLD | NEW |