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

Unified Diff: Source/core/page/PageConsole.cpp

Issue 20191003: Route JS Error Info From Blink to Chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@gclient
Patch Set: Adam's requests Created 7 years, 5 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: Source/core/page/PageConsole.cpp
diff --git a/Source/core/page/PageConsole.cpp b/Source/core/page/PageConsole.cpp
index 07bbb252a6ce2974edde7df033fa5d860034e9b2..e2993d23ed7a4e419d1aeb385704adbfb1c631f3 100644
--- a/Source/core/page/PageConsole.cpp
+++ b/Source/core/page/PageConsole.cpp
@@ -32,6 +32,7 @@
#include "core/dom/Document.h"
#include "core/dom/ScriptableDocumentParser.h"
#include "core/inspector/ConsoleAPITypes.h"
+#include "core/inspector/InspectorAgent.h"
#include "core/inspector/InspectorConsoleInstrumentation.h"
#include "core/inspector/ScriptCallStack.h"
#include "core/page/Chrome.h"
@@ -46,8 +47,21 @@ namespace {
int muteCount = 0;
+PassOwnPtr<ConsoleMessage> createConsoleMessage(Page* page, MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnNumber, PassRefPtr<ScriptCallStack> callStack, ScriptState* state, unsigned long requestIdentifier)
+{
+ String executionContextURL = page->mainFrame()->document()->url().string();
+ bool reportDetailedMessage = (state && page->chrome().client()->shouldReportDetailedMessageForContext(state->context()))
+ || page->chrome().client()->shouldReportDetailedMessageForURL(url)
+ || page->chrome().client()->shouldReportDetailedMessageForURL(executionContextURL);
+
+ if (callStack)
+ return adoptPtr(new ConsoleMessage(reportDetailedMessage, source, LogMessageType, level, message, executionContextURL, callStack, requestIdentifier));
+
+ return adoptPtr(new ConsoleMessage(reportDetailedMessage, source, LogMessageType, level, message, executionContextURL, url, lineNumber, columnNumber, state, requestIdentifier));
}
+} // anonymous namespace
+
PageConsole::PageConsole(Page* page)
: m_page(page)
{
@@ -83,15 +97,15 @@ void PageConsole::addMessage(MessageSource source, MessageLevel level, const Str
if (!page)
return;
- if (callStack)
- InspectorInstrumentation::addMessageToConsole(page, source, LogMessageType, level, message, callStack, requestIdentifier);
- else
- InspectorInstrumentation::addMessageToConsole(page, source, LogMessageType, level, message, url, lineNumber, columnNumber, state, requestIdentifier);
+ OwnPtr<ConsoleMessage> consoleMessage = createConsoleMessage(page, source, level, message, url, lineNumber, columnNumber, callStack, state, requestIdentifier);
- if (source == CSSMessageSource)
- return;
+ if (source != CSSMessageSource)
+ page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url, consoleMessage->generateJSONWithoutArguments()->toJSONString());
- page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url);
+ if (callStack)
+ InspectorInstrumentation::addMessageToConsole(page, consoleMessage.release(), InspectorAgent::DontCheckFrontend);
+ else
+ InspectorInstrumentation::addMessageToConsole(page, consoleMessage.release(), InspectorAgent::CheckFrontend);
}
// static

Powered by Google App Engine
This is Rietveld 408576698