| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 namespace ProfilerAgentState { | 58 namespace ProfilerAgentState { |
| 59 static const char userInitiatedProfiling[] = "userInitiatedProfiling"; | 59 static const char userInitiatedProfiling[] = "userInitiatedProfiling"; |
| 60 static const char profilerEnabled[] = "profilerEnabled"; | 60 static const char profilerEnabled[] = "profilerEnabled"; |
| 61 static const char profileHeadersRequested[] = "profileHeadersRequested"; | 61 static const char profileHeadersRequested[] = "profileHeadersRequested"; |
| 62 } | 62 } |
| 63 | 63 |
| 64 static const char* const userInitiatedProfileName = "org.webkit.profiles.user-in
itiated"; | 64 static const char* const userInitiatedProfileName = "org.webkit.profiles.user-in
itiated"; |
| 65 static const char* const CPUProfileType = "CPU"; | 65 static const char* const CPUProfileType = "CPU"; |
| 66 | 66 |
| 67 PassOwnPtr<InspectorProfilerAgent> InspectorProfilerAgent::create(InstrumentingA
gents* instrumentingAgents, InspectorConsoleAgent* consoleAgent, InspectorCompos
iteState* inspectorState, InjectedScriptManager* injectedScriptManager) | 67 PassRefPtr<InspectorProfilerAgent> InspectorProfilerAgent::create(InstrumentingA
gents* instrumentingAgents, InspectorState* inspectorState, PassRefPtr<Inspector
ConsoleAgent> consoleAgent, InjectedScriptManager* injectedScriptManager) |
| 68 { | 68 { |
| 69 return adoptPtr(new InspectorProfilerAgent(instrumentingAgents, consoleAgent
, inspectorState, injectedScriptManager)); | 69 return adoptRef(new InspectorProfilerAgent(instrumentingAgents, inspectorSta
te, consoleAgent, injectedScriptManager)); |
| 70 } | 70 } |
| 71 | 71 |
| 72 InspectorProfilerAgent::InspectorProfilerAgent(InstrumentingAgents* instrumentin
gAgents, InspectorConsoleAgent* consoleAgent, InspectorCompositeState* inspector
State, InjectedScriptManager* injectedScriptManager) | 72 InspectorProfilerAgent::InspectorProfilerAgent(InstrumentingAgents* instrumentin
gAgents, InspectorState* inspectorState, PassRefPtr<InspectorConsoleAgent> conso
leAgent, InjectedScriptManager* injectedScriptManager) |
| 73 : InspectorBaseAgent<InspectorProfilerAgent>("Profiler", instrumentingAgents
, inspectorState) | 73 : InspectorBaseAgent(instrumentingAgents, inspectorState) |
| 74 , m_consoleAgent(consoleAgent) | 74 , m_consoleAgent(consoleAgent) |
| 75 , m_injectedScriptManager(injectedScriptManager) | 75 , m_injectedScriptManager(injectedScriptManager) |
| 76 , m_frontend(0) | 76 , m_frontend(0) |
| 77 , m_recordingCPUProfile(false) | 77 , m_recordingCPUProfile(false) |
| 78 , m_currentUserInitiatedProfileNumber(-1) | 78 , m_currentUserInitiatedProfileNumber(-1) |
| 79 , m_nextUserInitiatedProfileNumber(1) | 79 , m_nextUserInitiatedProfileNumber(1) |
| 80 , m_profileNameIdleTimeMap(ScriptProfiler::currentProfileNameIdleTimeMap()) | 80 , m_profileNameIdleTimeMap(ScriptProfiler::currentProfileNameIdleTimeMap()) |
| 81 , m_previousTaskEndTime(0.0) | 81 , m_previousTaskEndTime(0.0) |
| 82 { | 82 { |
| 83 } | 83 } |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 | 269 |
| 270 void InspectorProfilerAgent::toggleRecordButton(bool isProfiling) | 270 void InspectorProfilerAgent::toggleRecordButton(bool isProfiling) |
| 271 { | 271 { |
| 272 if (m_frontend) | 272 if (m_frontend) |
| 273 m_frontend->setRecordingProfile(isProfiling); | 273 m_frontend->setRecordingProfile(isProfiling); |
| 274 } | 274 } |
| 275 | 275 |
| 276 void InspectorProfilerAgent::reportMemoryUsage(MemoryObjectInfo* memoryObjectInf
o) const | 276 void InspectorProfilerAgent::reportMemoryUsage(MemoryObjectInfo* memoryObjectInf
o) const |
| 277 { | 277 { |
| 278 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::InspectorPr
ofilerAgent); | 278 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::InspectorPr
ofilerAgent); |
| 279 InspectorBaseAgent<InspectorProfilerAgent>::reportMemoryUsage(memoryObjectIn
fo); | 279 InspectorBaseAgent::reportMemoryUsage(memoryObjectInfo); |
| 280 info.addMember(m_consoleAgent, "consoleAgent"); | 280 info.addMember(m_consoleAgent, "consoleAgent"); |
| 281 info.addMember(m_injectedScriptManager, "injectedScriptManager"); | 281 info.addMember(m_injectedScriptManager, "injectedScriptManager"); |
| 282 info.addWeakPointer(m_frontend); | 282 info.addWeakPointer(m_frontend); |
| 283 info.addMember(m_profiles, "profiles"); | 283 info.addMember(m_profiles, "profiles"); |
| 284 info.addMember(m_profileNameIdleTimeMap, "profileNameIdleTimeMap"); | 284 info.addMember(m_profileNameIdleTimeMap, "profileNameIdleTimeMap"); |
| 285 } | 285 } |
| 286 | 286 |
| 287 void InspectorProfilerAgent::willProcessTask() | 287 void InspectorProfilerAgent::willProcessTask() |
| 288 { | 288 { |
| 289 if (!m_profileNameIdleTimeMap || !m_profileNameIdleTimeMap->size()) | 289 if (!m_profileNameIdleTimeMap || !m_profileNameIdleTimeMap->size()) |
| 290 return; | 290 return; |
| 291 if (!m_previousTaskEndTime) | 291 if (!m_previousTaskEndTime) |
| 292 return; | 292 return; |
| 293 | 293 |
| 294 double idleTime = WTF::monotonicallyIncreasingTime() - m_previousTaskEndTime
; | 294 double idleTime = WTF::monotonicallyIncreasingTime() - m_previousTaskEndTime
; |
| 295 m_previousTaskEndTime = 0.0; | 295 m_previousTaskEndTime = 0.0; |
| 296 ProfileNameIdleTimeMap::iterator end = m_profileNameIdleTimeMap->end(); | 296 ProfileNameIdleTimeMap::iterator end = m_profileNameIdleTimeMap->end(); |
| 297 for (ProfileNameIdleTimeMap::iterator it = m_profileNameIdleTimeMap->begin()
; it != end; ++it) | 297 for (ProfileNameIdleTimeMap::iterator it = m_profileNameIdleTimeMap->begin()
; it != end; ++it) |
| 298 it->value += idleTime; | 298 it->value += idleTime; |
| 299 } | 299 } |
| 300 | 300 |
| 301 void InspectorProfilerAgent::didProcessTask() | 301 void InspectorProfilerAgent::didProcessTask() |
| 302 { | 302 { |
| 303 if (!m_profileNameIdleTimeMap || !m_profileNameIdleTimeMap->size()) | 303 if (!m_profileNameIdleTimeMap || !m_profileNameIdleTimeMap->size()) |
| 304 return; | 304 return; |
| 305 m_previousTaskEndTime = WTF::monotonicallyIncreasingTime(); | 305 m_previousTaskEndTime = WTF::monotonicallyIncreasingTime(); |
| 306 } | 306 } |
| 307 | 307 |
| 308 InspectorProfilerController::InspectorProfilerController(InstrumentingAgents* in
strumentingAgents, InspectorCompositeState* compositeState, InspectorConsoleCont
roller* consoleController, InjectedScriptManager* injectedScriptManager) |
| 309 : InspectorBaseController<InspectorProfilerController, InspectorProfilerAgen
t>("Profiler", instrumentingAgents, compositeState) |
| 310 { |
| 311 setAgent(InspectorProfilerAgent::create(m_instrumentingAgents, m_state, cons
oleController->getAgent(), injectedScriptManager)); |
| 312 } |
| 313 |
| 308 } // namespace WebCore | 314 } // namespace WebCore |
| 309 | 315 |
| OLD | NEW |