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

Unified Diff: third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp

Issue 2035653006: [DevTools] Move Console to v8 inspector. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: improved api a bit Created 4 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: third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
diff --git a/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp b/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
index 88b6d8d2657c92825c083d49f87aa28e9edbd6bd..4802d639f423c619ca8841a099c2cee0410978ed 100644
--- a/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
@@ -8,11 +8,11 @@
#include "bindings/core/v8/ScriptState.h"
#include "bindings/core/v8/ScriptValue.h"
#include "bindings/core/v8/V8Binding.h"
+#include "bindings/core/v8/V8PerIsolateData.h"
#include "core/dom/ExecutionContext.h"
#include "core/events/EventTarget.h"
#include "core/events/PromiseRejectionEvent.h"
-#include "core/inspector/ConsoleMessage.h"
-#include "core/inspector/ScriptArguments.h"
+#include "core/inspector/ThreadDebugger.h"
#include "public/platform/Platform.h"
#include "public/platform/WebScheduler.h"
#include "public/platform/WebTaskRunner.h"
@@ -74,21 +74,9 @@ public:
}
if (m_shouldLogToConsole) {
- const String errorMessage = "Uncaught (in promise)";
- Vector<ScriptValue> args;
- args.append(ScriptValue(m_scriptState, v8String(m_scriptState->isolate(), errorMessage)));
- args.append(ScriptValue(m_scriptState, reason));
- ScriptArguments* arguments = ScriptArguments::create(m_scriptState, args);
-
- String embedderErrorMessage = m_errorMessage;
- if (embedderErrorMessage.isEmpty())
- embedderErrorMessage = errorMessage;
- else if (embedderErrorMessage.startsWith("Uncaught "))
- embedderErrorMessage.insert(" (in promise)", 8);
-
- ConsoleMessage* consoleMessage = ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, embedderErrorMessage, std::move(m_location), arguments);
- m_consoleMessageId = consoleMessage->assignMessageId();
- executionContext->addConsoleMessage(consoleMessage);
+ V8PerIsolateData* data = V8PerIsolateData::from(m_scriptState->isolate());
+ if (data->threadDebugger())
+ m_promiseRejectionId = data->threadDebugger()->debugger()->promiseRejected(m_scriptState->context(), m_errorMessage, reason, m_location->url(), m_location->lineNumber(), m_location->columnNumber(), m_location->cloneStackTrace(), m_location->scriptId());
}
m_location.reset();
@@ -116,10 +104,10 @@ public:
target->dispatchEvent(event);
}
- if (m_shouldLogToConsole) {
- ConsoleMessage* consoleMessage = ConsoleMessage::create(JSMessageSource, RevokedErrorMessageLevel, "Handler added to rejected promise");
- consoleMessage->setRelatedMessageId(m_consoleMessageId);
- executionContext->addConsoleMessage(consoleMessage);
+ if (m_shouldLogToConsole && m_promiseRejectionId) {
+ V8PerIsolateData* data = V8PerIsolateData::from(m_scriptState->isolate());
+ if (data->threadDebugger())
+ data->threadDebugger()->debugger()->promiseRejectionRevoked(m_scriptState->context(), m_promiseRejectionId);
}
}
@@ -153,7 +141,7 @@ private:
, m_errorMessage(errorMessage)
, m_resourceName(location->url())
, m_location(std::move(location))
- , m_consoleMessageId(0)
+ , m_promiseRejectionId(0)
, m_collected(false)
, m_shouldLogToConsole(true)
, m_corsStatus(corsStatus)
@@ -177,7 +165,7 @@ private:
String m_errorMessage;
String m_resourceName;
std::unique_ptr<SourceLocation> m_location;
- unsigned m_consoleMessageId;
+ unsigned m_promiseRejectionId;
bool m_collected;
bool m_shouldLogToConsole;
AccessControlStatus m_corsStatus;

Powered by Google App Engine
This is Rietveld 408576698