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

Unified Diff: third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp

Issue 1774323002: [DevTools] Remove extra plumbing from InspectorWorkerAgent, prepare to multi-client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed leaks Created 4 years, 9 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: third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp
diff --git a/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp b/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp
index 4e5427113cc4ec6e24b77712af1c5539ff99a76b..d1b6ea42c87a1685765d0f1ce3ce31c1396d8d62 100644
--- a/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp
+++ b/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp
@@ -20,7 +20,6 @@ WorkerInspectorProxy::WorkerInspectorProxy()
: m_workerThread(nullptr)
, m_executionContext(nullptr)
, m_pageInspector(nullptr)
- , m_workerGlobalScopeProxy(nullptr)
{
}
@@ -44,9 +43,10 @@ void WorkerInspectorProxy::workerThreadCreated(ExecutionContext* context, Worker
{
m_workerThread = workerThread;
m_executionContext = context;
+ m_url = url.getString();
// We expect everyone starting worker thread to synchronously ask for workerStartMode right before.
bool waitingForDebugger = InspectorInstrumentation::shouldWaitForDebuggerOnWorkerStart(context);
- InspectorInstrumentation::didStartWorker(context, this, url, waitingForDebugger);
+ InspectorInstrumentation::didStartWorker(context, this, waitingForDebugger);
}
void WorkerInspectorProxy::workerThreadTerminated()
@@ -57,6 +57,18 @@ void WorkerInspectorProxy::workerThreadTerminated()
m_pageInspector = nullptr;
}
+void WorkerInspectorProxy::dispatchMessageFromWorker(const String& message)
+{
+ if (m_pageInspector)
+ m_pageInspector->dispatchMessageFromWorker(this, message);
+}
+
+void WorkerInspectorProxy::workerConsoleAgentEnabled()
+{
+ if (m_pageInspector)
+ m_pageInspector->workerConsoleAgentEnabled(this);
+}
+
static void connectToWorkerGlobalScopeInspectorTask(WorkerThread* workerThread)
{
if (WorkerInspectorController* inspector = workerThread->workerGlobalScope()->workerInspectorController())
@@ -78,8 +90,9 @@ static void disconnectFromWorkerGlobalScopeInspectorTask(WorkerThread* workerThr
inspector->disconnectFrontend();
}
-void WorkerInspectorProxy::disconnectFromInspector()
+void WorkerInspectorProxy::disconnectFromInspector(WorkerInspectorProxy::PageInspector* pageInspector)
{
+ ASSERT(m_pageInspector == pageInspector);
m_pageInspector = nullptr;
if (m_workerThread)
m_workerThread->appendDebuggerTask(threadSafeBind(disconnectFromWorkerGlobalScopeInspectorTask, AllowCrossThreadAccess(m_workerThread)));
@@ -107,7 +120,6 @@ void WorkerInspectorProxy::writeTimelineStartedEvent(const String& sessionId, co
DEFINE_TRACE(WorkerInspectorProxy)
{
visitor->trace(m_executionContext);
- visitor->trace(m_pageInspector);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698