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

Unified Diff: Source/devtools/front_end/console/ConsoleView.js

Issue 298333003: DevTools: Implement console message logging through an extension (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove duplicate logging Created 6 years, 7 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/devtools/front_end/console/ConsoleView.js
diff --git a/Source/devtools/front_end/console/ConsoleView.js b/Source/devtools/front_end/console/ConsoleView.js
index 6262a73828fad491ffab23ff9935e1155e672684..d71dd9fcb3876e5c0d10c4a5c01cb164a1545494 100644
--- a/Source/devtools/front_end/console/ConsoleView.js
+++ b/Source/devtools/front_end/console/ConsoleView.js
@@ -138,6 +138,7 @@ WebInspector.ConsoleView = function(hideContextSelector)
this._updateFilterStatus();
WebInspector.settings.consoleTimestampsEnabled.addChangeListener(this._consoleTimestampsSettingChanged, this);
+ this._registerWithMessageSink();
WebInspector.targetManager.observeTargets(this);
}
@@ -197,6 +198,41 @@ WebInspector.ConsoleView.prototype = {
target.runtimeModel.removeEventListener(WebInspector.RuntimeModel.Events.ExecutionContextDestroyed, this._onExecutionContextDestroyed, this);
},
+ _registerWithMessageSink: function()
+ {
+ WebInspector.messageSink.messages().forEach(this._addSinkMessage, this);
+ WebInspector.messageSink.addEventListener(WebInspector.MessageSink.Events.MessageAdded, messageAdded, this);
+
+ /**
+ * @param {!WebInspector.Event} event
+ * @this {WebInspector.ConsoleView}
+ */
+ function messageAdded(event)
+ {
+ this._addSinkMessage(/** @type {!WebInspector.MessageSink.Message} */ (event.data));
+ }
+ },
+
+ /**
+ * @param {!WebInspector.MessageSink.Message} message
+ */
+ _addSinkMessage: function(message)
+ {
+ var level = WebInspector.ConsoleMessage.MessageLevel.Debug;
+ switch (message.level) {
+ case WebInspector.MessageSink.MessageLevel.Error:
+ level = WebInspector.ConsoleMessage.MessageLevel.Error;
+ break;
+ case WebInspector.MessageSink.MessageLevel.Warning:
+ level = WebInspector.ConsoleMessage.MessageLevel.Warning;
+ break;
+ }
+
+ var consoleMessage = new WebInspector.ConsoleMessage(null, WebInspector.ConsoleMessage.MessageSource.Other, level, message.text,
+ undefined, undefined, undefined, undefined, undefined, undefined, undefined, message.timestamp);
+ this._addConsoleMessage(consoleMessage);
+ },
+
/**
* @param {!WebInspector.Event} event
*/
@@ -425,6 +461,14 @@ WebInspector.ConsoleView.prototype = {
_onConsoleMessageAdded: function(event)
{
var message = /** @type {!WebInspector.ConsoleMessage} */ (event.data);
+ this._addConsoleMessage(message);
+ },
+
+ /**
+ * @param {!WebInspector.ConsoleMessage} message
+ */
+ _addConsoleMessage: function(message)
+ {
var viewMessage = this._createViewMessage(message);
this._consoleMessageAdded(viewMessage);
this._scheduleViewportRefresh();
@@ -926,6 +970,9 @@ WebInspector.ConsoleViewFilter.prototype = {
{
var message = viewMessage.consoleMessage();
var executionContext = WebInspector.context.flavor(WebInspector.ExecutionContext);
+ if (!message.target())
+ return true;
+
if (!this._view._showAllMessagesCheckbox.checked() && executionContext && (message.target() !== executionContext.target() || message.executionContextId !== executionContext.id))
return false;
« no previous file with comments | « Source/devtools/front_end/common/Settings.js ('k') | Source/devtools/front_end/console/ConsoleViewMessage.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698