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

Unified Diff: Source/core/inspector/WorkerInspectorController.cpp

Issue 1133903005: DevTools: [wip] do not use InspectorInstrumentation for will/didProcessTask events. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « Source/core/inspector/WorkerInspectorController.h ('k') | Source/core/workers/WorkerThread.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/inspector/WorkerInspectorController.cpp
diff --git a/Source/core/inspector/WorkerInspectorController.cpp b/Source/core/inspector/WorkerInspectorController.cpp
index 2f45015aeda82bf0ff566f863b5fc86e06ceee80..f93725b54dc79242741646df1a1dfad51c0b58e3 100644
--- a/Source/core/inspector/WorkerInspectorController.cpp
+++ b/Source/core/inspector/WorkerInspectorController.cpp
@@ -102,7 +102,7 @@ WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
, m_state(adoptPtrWillBeNoop(new InspectorCompositeState(m_stateClient.get())))
, m_instrumentingAgents(InstrumentingAgents::create())
, m_injectedScriptManager(InjectedScriptManager::createForWorker())
- , m_debugServer(WorkerScriptDebugServer::create(workerGlobalScope))
+ , m_debugServer(WorkerScriptDebugServer::create(this, workerGlobalScope))
, m_agents(m_instrumentingAgents.get(), m_state.get())
, m_paused(false)
{
@@ -110,12 +110,15 @@ WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
m_workerRuntimeAgent = workerRuntimeAgent.get();
m_agents.append(workerRuntimeAgent.release());
- OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebuggerAgent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.get());
+ OwnPtrWillBeRawPtr<InspectorProfilerAgent> profilerAgent = InspectorProfilerAgent::create(m_injectedScriptManager.get(), 0);
+ m_profilerAgent = profilerAgent.get();
+ m_agents.append(profilerAgent.release());
+
+ OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebuggerAgent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.get(), this);
m_workerDebuggerAgent = workerDebuggerAgent.get();
m_agents.append(workerDebuggerAgent.release());
m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(m_workerDebuggerAgent, m_instrumentingAgents.get()));
- m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get(), 0));
m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.get()));
OwnPtrWillBeRawPtr<WorkerConsoleAgent> workerConsoleAgent = WorkerConsoleAgent::create(m_injectedScriptManager.get(), workerGlobalScope);
@@ -203,12 +206,22 @@ void WorkerInspectorController::pauseOnStart()
{
m_paused = true;
MessageQueueWaitResult result;
- m_workerGlobalScope->thread()->willEnterNestedLoop();
+ willProcessTask();
do {
result = m_workerGlobalScope->thread()->runDebuggerTask();
// Keep waiting until execution is resumed.
} while (result == MessageQueueMessageReceived && m_paused);
- m_workerGlobalScope->thread()->didLeaveNestedLoop();
+ didProcessTask();
+}
+
+void WorkerInspectorController::willProcessTask()
+{
+ m_profilerAgent->willProcessTask();
+}
+
+void WorkerInspectorController::didProcessTask()
+{
+ m_profilerAgent->didProcessTask();
}
DEFINE_TRACE(WorkerInspectorController)
@@ -220,6 +233,7 @@ DEFINE_TRACE(WorkerInspectorController)
visitor->trace(m_debugServer);
visitor->trace(m_backendDispatcher);
visitor->trace(m_agents);
+ visitor->trace(m_profilerAgent);
visitor->trace(m_workerDebuggerAgent);
visitor->trace(m_asyncCallTracker);
visitor->trace(m_workerRuntimeAgent);
« no previous file with comments | « Source/core/inspector/WorkerInspectorController.h ('k') | Source/core/workers/WorkerThread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698