| Index: third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
|
| diff --git a/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp b/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
|
| index e938a9a79731d92f55bf191862f13e3773e26142..59b8cdec328419c500c2e7d88e36529eaf07657f 100644
|
| --- a/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
|
| +++ b/third_party/WebKit/Source/core/inspector/ThreadDebugger.cpp
|
| @@ -4,7 +4,7 @@
|
|
|
| #include "core/inspector/ThreadDebugger.h"
|
|
|
| -#include "bindings/core/v8/ScriptValue.h"
|
| +#include "bindings/core/v8/SourceLocation.h"
|
| #include "bindings/core/v8/V8Binding.h"
|
| #include "bindings/core/v8/V8DOMException.h"
|
| #include "bindings/core/v8/V8DOMTokenList.h"
|
| @@ -100,6 +100,21 @@ void ThreadDebugger::asyncTaskFinished(void* task)
|
| m_debugger->asyncTaskFinished(task);
|
| }
|
|
|
| +unsigned ThreadDebugger::promiseRejected(v8::Local<v8::Context> context, const String16& errorMessage, v8::Local<v8::Value> exception, std::unique_ptr<SourceLocation> location)
|
| +{
|
| + const String16 defaultMessage = "Uncaught (in promise)";
|
| + String16 message = errorMessage;
|
| + if (message.isEmpty())
|
| + message = defaultMessage;
|
| + else if (message.startWith("Uncaught "))
|
| + message = message.substring(0, 8) + " (in promise)" + message.substring(8);
|
| +
|
| + unsigned result = debugger()->promiseRejected(context, message, exception, location->url(), location->lineNumber(), location->columnNumber(), location->cloneStackTrace(), location->scriptId());
|
| + // TODO(dgozman): maybe not wrap in ConsoleMessage.
|
| + reportConsoleMessage(toExecutionContext(context), ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, message, std::move(location)));
|
| + return result;
|
| +}
|
| +
|
| void ThreadDebugger::beginUserGesture()
|
| {
|
| m_userGestureIndicator = wrapUnique(new UserGestureIndicator(DefinitelyProcessingNewUserGesture));
|
| @@ -235,7 +250,7 @@ void ThreadDebugger::logCallback(const v8::FunctionCallbackInfo<v8::Value>& info
|
| Event* event = V8Event::toImplWithTypeCheck(info.GetIsolate(), info[0]);
|
| if (!event)
|
| return;
|
| - debugger->debugger()->logToConsole(info.GetIsolate()->GetCurrentContext(), event->type(), v8String(info.GetIsolate(), event->type()), info[0]);
|
| + debugger->debugger()->logToConsole(info.GetIsolate()->GetCurrentContext(), v8String(info.GetIsolate(), event->type()), info[0]);
|
| }
|
|
|
| v8::Local<v8::Function> ThreadDebugger::eventLogFunction()
|
|
|