Modified: trunk/Source/WebCore/ChangeLog (278946 => 278947)
--- trunk/Source/WebCore/ChangeLog 2021-06-16 18:44:26 UTC (rev 278946)
+++ trunk/Source/WebCore/ChangeLog 2021-06-16 19:01:43 UTC (rev 278947)
@@ -1,3 +1,15 @@
+2021-06-16 Timothy Hatcher <timo...@apple.com>
+
+ REGRESSION (r273329): Logging of most errors like CSP and promise rejections fail logging to the system console
+ https://bugs.webkit.org/show_bug.cgi?id=227080
+
+ Unreviewed, reverting r273329.
+
+ * dom/Document.cpp:
+ (WebCore::Document::didLogMessage):
+ * page/PageConsoleClient.cpp:
+ (WebCore::PageConsoleClient::addMessage):
+
2021-06-16 Kimmo Kinnunen <kkinnu...@apple.com>
WebGL2 clientWaitSync does not flush when requested
Modified: trunk/Source/WebCore/dom/Document.cpp (278946 => 278947)
--- trunk/Source/WebCore/dom/Document.cpp 2021-06-16 18:44:26 UTC (rev 278946)
+++ trunk/Source/WebCore/dom/Document.cpp 2021-06-16 19:01:43 UTC (rev 278947)
@@ -257,10 +257,8 @@
#include "XPathExpression.h"
#include "XPathNSResolver.h"
#include "XPathResult.h"
-#include <_javascript_Core/ConsoleClient.h>
#include <_javascript_Core/ConsoleMessage.h>
#include <_javascript_Core/RegularExpression.h>
-#include <_javascript_Core/ScriptArguments.h>
#include <_javascript_Core/ScriptCallStack.h>
#include <_javascript_Core/VM.h>
#include <ctime>
@@ -8503,20 +8501,13 @@
if (messageSource == MessageSource::Other)
return;
- auto messageLevel = messageLevelFromWTFLogLevel(level);
- auto message = makeUnique<Inspector::ConsoleMessage>(messageSource, MessageType::Log, messageLevel, WTFMove(logMessages), mainWorldExecState(frame()));
+ eventLoop().queueTask(TaskSource::InternalAsyncTask, [weakThis = makeWeakPtr(*this), level, messageSource, logMessages = WTFMove(logMessages)]() mutable {
+ if (!weakThis || !weakThis->page())
+ return;
- if (UNLIKELY(page->settings().logsPageMessagesToSystemConsoleEnabled() || PageConsoleClient::shouldPrintExceptions())) {
- if (message->type() == MessageType::Image) {
- ASSERT(message->arguments());
- JSC::ConsoleClient::printConsoleMessageWithArguments(message->source(), message->type(), message->level(), message->arguments()->globalObject(), *message->arguments());
- } else
- JSC::ConsoleClient::printConsoleMessage(message->source(), message->type(), message->level(), message->toString(), message->url(), message->line(), message->column());
- }
+ auto messageLevel = messageLevelFromWTFLogLevel(level);
+ auto message = makeUnique<Inspector::ConsoleMessage>(messageSource, MessageType::Log, messageLevel, WTFMove(logMessages), mainWorldExecState(weakThis->frame()));
- eventLoop().queueTask(TaskSource::InternalAsyncTask, [weakThis = makeWeakPtr(*this), message = WTFMove(message)]() mutable {
- if (!weakThis || !weakThis->page())
- return;
weakThis->addConsoleMessage(WTFMove(message));
});
}
Modified: trunk/Source/WebCore/page/PageConsoleClient.cpp (278946 => 278947)
--- trunk/Source/WebCore/page/PageConsoleClient.cpp 2021-06-16 18:44:26 UTC (rev 278946)
+++ trunk/Source/WebCore/page/PageConsoleClient.cpp 2021-06-16 19:01:43 UTC (rev 278947)
@@ -127,6 +127,14 @@
} else
message = consoleMessage->message();
m_page.chrome().client().addMessageToConsole(consoleMessage->source(), consoleMessage->level(), message, consoleMessage->line(), consoleMessage->column(), consoleMessage->url());
+
+ if (UNLIKELY(m_page.settings().logsPageMessagesToSystemConsoleEnabled() || shouldPrintExceptions())) {
+ if (consoleMessage->type() == MessageType::Image) {
+ ASSERT(consoleMessage->arguments());
+ ConsoleClient::printConsoleMessageWithArguments(consoleMessage->source(), consoleMessage->type(), consoleMessage->level(), consoleMessage->arguments()->globalObject(), *consoleMessage->arguments());
+ } else
+ ConsoleClient::printConsoleMessage(consoleMessage->source(), consoleMessage->type(), consoleMessage->level(), consoleMessage->toString(), consoleMessage->url(), consoleMessage->line(), consoleMessage->column());
+ }
}
InspectorInstrumentation::addMessageToConsole(m_page, WTFMove(consoleMessage));