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

Unified Diff: third_party/WebKit/Source/core/inspector/PageConsoleAgent.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/inspector/PageConsoleAgent.cpp
diff --git a/third_party/WebKit/Source/core/inspector/PageConsoleAgent.cpp b/third_party/WebKit/Source/core/inspector/PageConsoleAgent.cpp
index 48c5eb77f0789b78dab4e576299310a589047345..762f54786f93e82c812f0eb400308fe6432914b0 100644
--- a/third_party/WebKit/Source/core/inspector/PageConsoleAgent.cpp
+++ b/third_party/WebKit/Source/core/inspector/PageConsoleAgent.cpp
@@ -64,6 +64,9 @@ DEFINE_TRACE(PageConsoleAgent)
{
visitor->trace(m_inspectorDOMAgent);
visitor->trace(m_inspectedFrames);
+#if ENABLE(OILPAN)
+ visitor->trace(m_workersWithEnabledConsole);
+#endif
InspectorConsoleAgent::trace(visitor);
}
@@ -78,6 +81,7 @@ void PageConsoleAgent::disable(ErrorString* errorString)
{
m_instrumentingAgents->setPageConsoleAgent(nullptr);
InspectorConsoleAgent::disable(errorString);
+ m_workersWithEnabledConsole.clear();
}
void PageConsoleAgent::clearMessages(ErrorString* errorString)
@@ -86,9 +90,9 @@ void PageConsoleAgent::clearMessages(ErrorString* errorString)
messageStorage()->clear(m_inspectedFrames->root()->document());
}
-void PageConsoleAgent::workerConsoleAgentEnabled(WorkerGlobalScopeProxy* proxy)
+void PageConsoleAgent::workerConsoleAgentEnabled(WorkerInspectorProxy* workerInspectorProxy)
{
- m_workersWithEnabledConsole.add(proxy);
+ m_workersWithEnabledConsole.add(workerInspectorProxy);
}
ConsoleMessageStorage* PageConsoleAgent::messageStorage()
@@ -98,21 +102,18 @@ ConsoleMessageStorage* PageConsoleAgent::messageStorage()
void PageConsoleAgent::workerTerminated(WorkerInspectorProxy* workerInspectorProxy)
{
- WorkerGlobalScopeProxy* proxy = workerInspectorProxy->workerGlobalScopeProxy();
- if (!proxy)
- return;
-
- HashSet<WorkerGlobalScopeProxy*>::iterator iterator = m_workersWithEnabledConsole.find(proxy);
- bool workerAgentWasEnabled = iterator != m_workersWithEnabledConsole.end();
- if (workerAgentWasEnabled)
+ WorkerInspectorProxySet::iterator it = m_workersWithEnabledConsole.find(workerInspectorProxy);
+ if (it != m_workersWithEnabledConsole.end()) {
+ m_workersWithEnabledConsole.remove(it);
return;
+ }
ConsoleMessageStorage* storage = messageStorage();
size_t messageCount = storage->size();
for (size_t i = 0; i < messageCount; ++i) {
ConsoleMessage* message = storage->at(i);
- if (message->workerGlobalScopeProxy() == proxy) {
- message->setWorkerGlobalScopeProxy(nullptr);
+ if (message->workerInspectorProxy() == workerInspectorProxy) {
+ message->setWorkerInspectorProxy(nullptr);
sendConsoleMessageToFrontend(message, false);
}
}

Powered by Google App Engine
This is Rietveld 408576698