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

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

Issue 307943002: Oilpan: Prepare moving InspectorController and InspectorAgents to oilpan. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 6 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/WorkerDebuggerAgent.cpp
diff --git a/Source/core/inspector/WorkerDebuggerAgent.cpp b/Source/core/inspector/WorkerDebuggerAgent.cpp
index 52d2b4d4f5c01e4badba956ba1125f152e94843d..52bff83645966ebf6d02201a3f51befec7b0ddf8 100644
--- a/Source/core/inspector/WorkerDebuggerAgent.cpp
+++ b/Source/core/inspector/WorkerDebuggerAgent.cpp
@@ -32,6 +32,7 @@
#include "core/inspector/WorkerDebuggerAgent.h"
#include "bindings/v8/ScriptDebugServer.h"
+#include "core/inspector/WorkerInspectorController.h"
#include "core/workers/WorkerGlobalScope.h"
#include "core/workers/WorkerThread.h"
#include "wtf/MessageQueue.h"
@@ -40,21 +41,6 @@ namespace WebCore {
namespace {
-Mutex& workerDebuggerAgentsMutex()
-{
- AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex);
- return mutex;
-}
-
-typedef HashMap<WorkerThread*, WorkerDebuggerAgent*> WorkerDebuggerAgents;
-
-WorkerDebuggerAgents& workerDebuggerAgents()
-{
- DEFINE_STATIC_LOCAL(WorkerDebuggerAgents, agents, ());
haraken 2014/06/17 14:06:18 This is a nice change!
- return agents;
-}
-
-
class RunInspectorCommandsTask FINAL : public ScriptDebugServer::Task {
public:
explicit RunInspectorCommandsTask(WorkerThread* thread)
@@ -73,9 +59,9 @@ private:
} // namespace
-PassOwnPtr<WorkerDebuggerAgent> WorkerDebuggerAgent::create(WorkerScriptDebugServer* scriptDebugServer, WorkerGlobalScope* inspectedWorkerGlobalScope, InjectedScriptManager* injectedScriptManager)
+PassOwnPtrWillBeRawPtr<WorkerDebuggerAgent> WorkerDebuggerAgent::create(WorkerScriptDebugServer* scriptDebugServer, WorkerGlobalScope* inspectedWorkerGlobalScope, InjectedScriptManager* injectedScriptManager)
{
- return adoptPtr(new WorkerDebuggerAgent(scriptDebugServer, inspectedWorkerGlobalScope, injectedScriptManager));
+ return adoptPtrWillBeNoop(new WorkerDebuggerAgent(scriptDebugServer, inspectedWorkerGlobalScope, injectedScriptManager));
}
WorkerDebuggerAgent::WorkerDebuggerAgent(WorkerScriptDebugServer* scriptDebugServer, WorkerGlobalScope* inspectedWorkerGlobalScope, InjectedScriptManager* injectedScriptManager)
@@ -83,23 +69,27 @@ WorkerDebuggerAgent::WorkerDebuggerAgent(WorkerScriptDebugServer* scriptDebugSer
, m_scriptDebugServer(scriptDebugServer)
, m_inspectedWorkerGlobalScope(inspectedWorkerGlobalScope)
{
- MutexLocker lock(workerDebuggerAgentsMutex());
- workerDebuggerAgents().set(inspectedWorkerGlobalScope->thread(), this);
}
WorkerDebuggerAgent::~WorkerDebuggerAgent()
{
- MutexLocker lock(workerDebuggerAgentsMutex());
- ASSERT(workerDebuggerAgents().contains(m_inspectedWorkerGlobalScope->thread()));
- workerDebuggerAgents().remove(m_inspectedWorkerGlobalScope->thread());
+}
+
+void WorkerDebuggerAgent::trace(Visitor* visitor)
+{
+ visitor->trace(m_inspectedWorkerGlobalScope);
+ InspectorDebuggerAgent::trace(visitor);
}
void WorkerDebuggerAgent::interruptAndDispatchInspectorCommands(WorkerThread* thread)
{
- MutexLocker lock(workerDebuggerAgentsMutex());
- WorkerDebuggerAgent* agent = workerDebuggerAgents().get(thread);
- if (agent)
- agent->m_scriptDebugServer->interruptAndRunTask(adoptPtr(new RunInspectorCommandsTask(thread)));
+ WorkerGlobalScope* workerGlobalScope = thread->workerGlobalScope();
+ ASSERT(workerGlobalScope);
+ WorkerInspectorController* workerInspectorController = workerGlobalScope->workerInspectorController();
+ ASSERT(workerInspectorController);
+ WorkerDebuggerAgent* workerDebuggerAgent = workerInspectorController->workerDebuggerAgent();
+ ASSERT(workerDebuggerAgent);
+ workerDebuggerAgent->scriptDebugServer().interruptAndRunTask(adoptPtr(new RunInspectorCommandsTask(thread)));
}
void WorkerDebuggerAgent::startListeningScriptDebugServer()

Powered by Google App Engine
This is Rietveld 408576698