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

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

Issue 466753002: DevTools: Do not push to frontend messages from worker while it is alive (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address vsevik's comments Created 6 years, 4 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/InspectorConsoleAgent.cpp
diff --git a/Source/core/inspector/InspectorConsoleAgent.cpp b/Source/core/inspector/InspectorConsoleAgent.cpp
index b89257e61af1115655af7633c757e1d420d8681d..659051a0fe25a14060be832a531668edad79bfaa 100644
--- a/Source/core/inspector/InspectorConsoleAgent.cpp
+++ b/Source/core/inspector/InspectorConsoleAgent.cpp
@@ -44,6 +44,7 @@
#include "core/inspector/ScriptCallStack.h"
#include "core/loader/DocumentLoader.h"
#include "core/page/Page.h"
+#include "core/workers/WorkerGlobalScopeProxy.h"
#include "platform/network/ResourceError.h"
#include "platform/network/ResourceResponse.h"
#include "wtf/CurrentTime.h"
@@ -169,11 +170,22 @@ void InspectorConsoleAgent::clearFrontend()
void InspectorConsoleAgent::addMessageToConsole(ConsoleMessage* consoleMessage)
{
+ InspectorConsoleMessage* message;
if (consoleMessage->callStack()) {
- addConsoleMessage(adoptPtr(new InspectorConsoleMessage(consoleMessage->source(), LogMessageType, consoleMessage->level(), consoleMessage->message(), consoleMessage->callStack(), consoleMessage->requestIdentifier())));
+ message = new InspectorConsoleMessage(consoleMessage->source(), LogMessageType, consoleMessage->level(), consoleMessage->message(), consoleMessage->callStack(), consoleMessage->requestIdentifier());
} else {
bool canGenerateCallStack = !isWorkerAgent() && m_frontend;
- addConsoleMessage(adoptPtr(new InspectorConsoleMessage(canGenerateCallStack, consoleMessage->source(), LogMessageType, consoleMessage->level(), consoleMessage->message(), consoleMessage->url(), consoleMessage->lineNumber(), consoleMessage->columnNumber(), consoleMessage->scriptState(), consoleMessage->requestIdentifier())));
+ message = new InspectorConsoleMessage(canGenerateCallStack, consoleMessage->source(), LogMessageType, consoleMessage->level(), consoleMessage->message(), consoleMessage->url(), consoleMessage->lineNumber(), consoleMessage->columnNumber(), consoleMessage->scriptState(), consoleMessage->requestIdentifier());
+ }
+ message->setWorkerGlobalScopeProxy(consoleMessage->getWorkerId());
+ addConsoleMessage(adoptPtr(message));
+}
+
+void InspectorConsoleAgent::notifyWorkerGlobalScopeTerminated(WorkerGlobalScopeProxy* proxy)
+{
+ for (size_t i = 0; i < m_consoleMessages.size(); i++) {
+ if (m_consoleMessages[i]->getWorkerGlobalScopeProxy() == proxy)
+ m_consoleMessages[i]->setWorkerGlobalScopeProxy(nullptr);
}
}

Powered by Google App Engine
This is Rietveld 408576698