| 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 55193ae26f66552eddc55e010af7a682e37e6c7b..03638df9e8668fb6f483dbc8efd9d4f12e8aa42c 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/RejectedPromises.cpp
|
| @@ -28,9 +28,9 @@ static const unsigned maxReportedHandlersPendingResolution = 1000;
|
|
|
| class RejectedPromises::Message final : public NoBaseWillBeGarbageCollectedFinalized<RejectedPromises::Message> {
|
| public:
|
| - static PassOwnPtrWillBeRawPtr<Message> create(ScriptState* scriptState, v8::Local<v8::Promise> promise, v8::Local<v8::Value> exception, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack)
|
| + static PassOwnPtrWillBeRawPtr<Message> create(ScriptState* scriptState, v8::Local<v8::Promise> promise, v8::Local<v8::Value> exception, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack, AccessControlStatus corsStatus)
|
| {
|
| - return adoptPtrWillBeNoop(new Message(scriptState, promise, exception, errorMessage, resourceName, scriptId, lineNumber, columnNumber, callStack));
|
| + return adoptPtrWillBeNoop(new Message(scriptState, promise, exception, errorMessage, resourceName, scriptId, lineNumber, columnNumber, callStack, corsStatus));
|
| }
|
|
|
| DEFINE_INLINE_TRACE()
|
| @@ -69,7 +69,7 @@ public:
|
| ASSERT(!hasHandler());
|
|
|
| EventTarget* target = executionContext->errorEventTarget();
|
| - if (RuntimeEnabledFeatures::promiseRejectionEventEnabled() && target) {
|
| + if (RuntimeEnabledFeatures::promiseRejectionEventEnabled() && target && !executionContext->shouldSanitizeScriptError(m_resourceName, m_corsStatus)) {
|
| PromiseRejectionEventInit init;
|
| init.setPromise(ScriptPromise(m_scriptState, value));
|
| init.setReason(ScriptValue(m_scriptState, reason));
|
| @@ -117,7 +117,7 @@ public:
|
| return;
|
|
|
| EventTarget* target = executionContext->errorEventTarget();
|
| - if (RuntimeEnabledFeatures::promiseRejectionEventEnabled() && target) {
|
| + if (RuntimeEnabledFeatures::promiseRejectionEventEnabled() && target && !executionContext->shouldSanitizeScriptError(m_resourceName, m_corsStatus)) {
|
| PromiseRejectionEventInit init;
|
| init.setPromise(ScriptPromise(m_scriptState, value));
|
| init.setReason(ScriptValue(m_scriptState, reason));
|
| @@ -156,7 +156,7 @@ public:
|
| }
|
|
|
| private:
|
| - Message(ScriptState* scriptState, v8::Local<v8::Promise> promise, v8::Local<v8::Value> exception, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack)
|
| + Message(ScriptState* scriptState, v8::Local<v8::Promise> promise, v8::Local<v8::Value> exception, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack, AccessControlStatus corsStatus)
|
| : m_scriptState(scriptState)
|
| , m_promise(scriptState->isolate(), promise)
|
| , m_exception(scriptState->isolate(), exception)
|
| @@ -169,6 +169,7 @@ private:
|
| , m_consoleMessageId(0)
|
| , m_collected(false)
|
| , m_shouldLogToConsole(true)
|
| + , m_corsStatus(corsStatus)
|
| {
|
| }
|
|
|
| @@ -195,6 +196,7 @@ private:
|
| unsigned m_consoleMessageId;
|
| bool m_collected;
|
| bool m_shouldLogToConsole;
|
| + AccessControlStatus m_corsStatus;
|
| };
|
|
|
| RejectedPromises::RejectedPromises()
|
| @@ -209,9 +211,9 @@ DEFINE_TRACE(RejectedPromises)
|
| visitor->trace(m_reportedAsErrors);
|
| }
|
|
|
| -void RejectedPromises::rejectedWithNoHandler(ScriptState* scriptState, v8::PromiseRejectMessage data, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack)
|
| +void RejectedPromises::rejectedWithNoHandler(ScriptState* scriptState, v8::PromiseRejectMessage data, const String& errorMessage, const String& resourceName, int scriptId, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack> callStack, AccessControlStatus corsStatus)
|
| {
|
| - m_queue.append(Message::create(scriptState, data.GetPromise(), data.GetValue(), errorMessage, resourceName, scriptId, lineNumber, columnNumber, callStack));
|
| + m_queue.append(Message::create(scriptState, data.GetPromise(), data.GetValue(), errorMessage, resourceName, scriptId, lineNumber, columnNumber, callStack, corsStatus));
|
| }
|
|
|
| void RejectedPromises::handlerAdded(v8::PromiseRejectMessage data)
|
|
|