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

Unified Diff: Source/core/frame/FrameConsole.cpp

Issue 464293002: [DevTools] ConsoleMessage storage moved from ConsoleAgent (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@remove-can-generate
Patch Set: Created 6 years, 4 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
« no previous file with comments | « Source/core/frame/FrameConsole.h ('k') | Source/core/frame/LocalDOMWindow.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/frame/FrameConsole.cpp
diff --git a/Source/core/frame/FrameConsole.cpp b/Source/core/frame/FrameConsole.cpp
index ba05c78164929afe0b995721fbb353325abaae43..0f0fcbd7b4f0c4eabd5e23b38ba1505530d9103d 100644
--- a/Source/core/frame/FrameConsole.cpp
+++ b/Source/core/frame/FrameConsole.cpp
@@ -33,6 +33,7 @@
#include "core/frame/FrameHost.h"
#include "core/inspector/ConsoleAPITypes.h"
#include "core/inspector/ConsoleMessage.h"
+#include "core/inspector/ConsoleMessageStorage.h"
#include "core/inspector/InspectorConsoleInstrumentation.h"
#include "core/inspector/ScriptCallStack.h"
#include "core/page/Chrome.h"
@@ -54,6 +55,10 @@ FrameConsole::FrameConsole(LocalFrame& frame)
{
}
+FrameConsole::~FrameConsole()
+{
+}
+
void FrameConsole::addMessage(PassRefPtrWillBeRawPtr<ConsoleMessage> prpConsoleMessage)
{
RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = prpConsoleMessage;
@@ -66,14 +71,9 @@ void FrameConsole::addMessage(PassRefPtrWillBeRawPtr<ConsoleMessage> prpConsoleM
if (!context)
return;
- InspectorInstrumentation::addMessageToConsole(context, consoleMessage.get());
-
- if (consoleMessage->source() == CSSMessageSource)
- return;
-
String messageURL;
unsigned lineNumber = 0;
- if (consoleMessage->callStack()) {
+ if (consoleMessage->callStack() && consoleMessage->callStack()->size()) {
lineNumber = consoleMessage->callStack()->at(0).lineNumber();
messageURL = consoleMessage->callStack()->at(0).sourceURL();
} else {
@@ -81,6 +81,11 @@ void FrameConsole::addMessage(PassRefPtrWillBeRawPtr<ConsoleMessage> prpConsoleM
messageURL = consoleMessage->url();
}
+ messageStorage()->reportMessage(consoleMessage);
+
+ if (consoleMessage->source() == CSSMessageSource)
+ return;
+
RefPtrWillBeRawPtr<ScriptCallStack> reportedCallStack = nullptr;
if (consoleMessage->source() != ConsoleAPIMessageSource) {
if (consoleMessage->callStack() && m_frame.chromeClient().shouldReportDetailedMessageForSource(messageURL))
@@ -132,6 +137,19 @@ void FrameConsole::unmute()
muteCount--;
}
+ConsoleMessageStorage* FrameConsole::messageStorage()
+{
+ LocalFrame* curFrame = &m_frame;
+ Frame* topFrame = curFrame->tree().top();
+ ASSERT(topFrame->isLocalFrame());
+ LocalFrame* localTopFrame = toLocalFrame(topFrame);
+ if (localTopFrame != curFrame)
+ return localTopFrame->console().messageStorage();
+ if (!m_consoleMessageStorage)
+ m_consoleMessageStorage = ConsoleMessageStorage::createForFrame(&m_frame);
+ return m_consoleMessageStorage.get();
+}
+
void FrameConsole::adoptWorkerConsoleMessages(WorkerGlobalScopeProxy* proxy)
{
InspectorInstrumentation::adoptWorkerConsoleMessages(m_frame.document(), proxy);
« no previous file with comments | « Source/core/frame/FrameConsole.h ('k') | Source/core/frame/LocalDOMWindow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698