Index: third_party/WebKit/Source/core/inspector/WorkerThreadDebugger.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/WorkerThreadDebugger.cpp b/third_party/WebKit/Source/core/inspector/WorkerThreadDebugger.cpp |
index 531919df7e7a55be0a3f54ce27a1cbbbc58e1c7b..7ce109746cb6bd35e0a903610847a9cac26d909d 100644 |
--- a/third_party/WebKit/Source/core/inspector/WorkerThreadDebugger.cpp |
+++ b/third_party/WebKit/Source/core/inspector/WorkerThreadDebugger.cpp |
@@ -34,7 +34,9 @@ |
#include "bindings/core/v8/SourceLocation.h" |
#include "bindings/core/v8/V8ScriptRunner.h" |
#include "core/inspector/ConsoleMessage.h" |
+#include "core/inspector/ConsoleMessageStorage.h" |
#include "core/inspector/IdentifiersFactory.h" |
+#include "core/workers/WorkerGlobalScope.h" |
#include "core/workers/WorkerReportingProxy.h" |
#include "core/workers/WorkerThread.h" |
#include <v8.h> |
@@ -55,7 +57,6 @@ WorkerThreadDebugger* WorkerThreadDebugger::from(v8::Isolate* isolate) |
WorkerThreadDebugger::WorkerThreadDebugger(WorkerThread* workerThread, v8::Isolate* isolate) |
: ThreadDebugger(isolate) |
, m_workerThread(workerThread) |
- , m_muteConsoleCount(0) |
{ |
} |
@@ -71,6 +72,14 @@ void WorkerThreadDebugger::reportConsoleMessage(ExecutionContext* context, Conso |
m_workerThread->workerReportingProxy().reportConsoleMessage(message); |
} |
+int WorkerThreadDebugger::contextGroupId(ExecutionContext* context) |
+{ |
+ if (!context) |
+ return 0; |
+ DCHECK(context == m_workerThread->workerGlobalScope()); |
+ return workerContextGroupId; |
+} |
+ |
void WorkerThreadDebugger::contextCreated(v8::Local<v8::Context> context) |
{ |
debugger()->contextCreated(V8ContextInfo(context, workerContextGroupId, true, m_workerThread->workerGlobalScope()->url().getString(), "", "", false)); |
@@ -83,30 +92,12 @@ void WorkerThreadDebugger::contextWillBeDestroyed(v8::Local<v8::Context> context |
void WorkerThreadDebugger::exceptionThrown(const String& errorMessage, std::unique_ptr<SourceLocation> location) |
{ |
- if (m_muteConsoleCount) |
+ if (m_workerThread->workerGlobalScope()->consoleMessageStorage()->isMuted()) |
return; |
debugger()->exceptionThrown(workerContextGroupId, errorMessage, location->url(), location->lineNumber(), location->columnNumber(), location->cloneStackTrace(), location->scriptId()); |
m_workerThread->workerReportingProxy().reportConsoleMessage(ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, errorMessage, std::move(location))); |
} |
-void WorkerThreadDebugger::addConsoleMessage(ConsoleMessage* consoleMessage) |
-{ |
- if (m_muteConsoleCount) |
- return; |
- debugger()->addConsoleMessage( |
- workerContextGroupId, |
- consoleMessage->source(), |
- consoleMessage->level(), |
- consoleMessage->message(), |
- consoleMessage->location()->url(), |
- consoleMessage->location()->lineNumber(), |
- consoleMessage->location()->columnNumber(), |
- consoleMessage->location()->cloneStackTrace(), |
- consoleMessage->location()->scriptId(), |
- IdentifiersFactory::requestId(consoleMessage->requestIdentifier()), |
- consoleMessage->workerId()); |
-} |
- |
int WorkerThreadDebugger::contextGroupId() |
{ |
return workerContextGroupId; |
@@ -123,14 +114,16 @@ void WorkerThreadDebugger::quitMessageLoopOnPause() |
m_workerThread->stopRunningDebuggerTasksOnPauseOnWorkerThread(); |
} |
-void WorkerThreadDebugger::muteWarningsAndDeprecations() |
+void WorkerThreadDebugger::muteWarningsAndDeprecations(int contextGroupId) |
{ |
- m_muteConsoleCount++; |
+ DCHECK(contextGroupId == workerContextGroupId); |
+ m_workerThread->workerGlobalScope()->consoleMessageStorage()->mute(); |
} |
-void WorkerThreadDebugger::unmuteWarningsAndDeprecations() |
+void WorkerThreadDebugger::unmuteWarningsAndDeprecations(int contextGroupId) |
{ |
- m_muteConsoleCount--; |
+ DCHECK(contextGroupId == workerContextGroupId); |
+ m_workerThread->workerGlobalScope()->consoleMessageStorage()->unmute(); |
} |
bool WorkerThreadDebugger::callingContextCanAccessContext(v8::Local<v8::Context> calling, v8::Local<v8::Context> target) |