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

Unified Diff: Source/devtools/front_end/sdk/ConsoleModel.js

Issue 396993003: DevTools: get rid of WebInspector.cssModel, use target models instead (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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/devtools/front_end/sdk/ConsoleModel.js
diff --git a/Source/devtools/front_end/sdk/ConsoleModel.js b/Source/devtools/front_end/sdk/ConsoleModel.js
index 064a4bda467fef6cce5955f23f3a45720a8d50ab..da7dc89cbdd83a21abdf2c12177212aae029a2b0 100644
--- a/Source/devtools/front_end/sdk/ConsoleModel.js
+++ b/Source/devtools/front_end/sdk/ConsoleModel.js
@@ -38,7 +38,7 @@ WebInspector.ConsoleModel = function(target)
WebInspector.SDKObject.call(this, target);
/** @type {!Array.<!WebInspector.ConsoleMessage>} */
- this.messages = [];
+ this._messages = [];
this.warnings = 0;
this.errors = 0;
this._consoleAgent = target.consoleAgent();
@@ -80,51 +80,19 @@ WebInspector.ConsoleModel.prototype = {
/**
* @param {!WebInspector.ConsoleMessage} msg
- * @param {boolean=} isFromBackend
*/
- addMessage: function(msg, isFromBackend)
+ addMessage: function(msg)
{
- if (isFromBackend && WebInspector.NetworkManager.hasDevToolsRequestHeader(msg.request))
+ if (WebInspector.NetworkManager.hasDevToolsRequestHeader(msg.request))
return;
- msg.index = this.messages.length;
- this.messages.push(msg);
+ msg.index = this._messages.length;
+ this._messages.push(msg);
this._incrementErrorWarningCount(msg);
this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.MessageAdded, msg);
},
- show: function()
- {
- WebInspector.Revealer.reveal(this);
- },
-
- /**
- * @param {string} messageText
- * @param {!WebInspector.ConsoleMessage.MessageLevel=} messageLevel
- * @param {boolean=} showConsole
- */
- log: function(messageText, messageLevel, showConsole)
- {
- var message = new WebInspector.ConsoleMessage(
- this.target(),
- WebInspector.ConsoleMessage.MessageSource.Other,
- messageLevel || WebInspector.ConsoleMessage.MessageLevel.Debug,
- messageText);
-
- this.addMessage(message);
- if (showConsole)
- this.show();
- },
-
- /**
- * @param {string} error
- */
- showErrorMessage: function(error)
- {
- this.log(error, WebInspector.ConsoleMessage.MessageLevel.Error, true);
- },
-
/**
* @param {!WebInspector.ConsoleMessage} msg
*/
@@ -140,15 +108,23 @@ WebInspector.ConsoleModel.prototype = {
}
},
+ /**
+ * @return {!Array.<!WebInspector.ConsoleMessage>}
+ */
+ messages: function()
+ {
+ return this._messages;
+ },
+
requestClearMessages: function()
{
this._consoleAgent.clearMessages();
- this.clearMessages();
+ this._messagesCleared();
},
- clearMessages: function()
+ _messagesCleared: function()
{
- this.messages = [];
+ this._messages = [];
this.errors = 0;
this.warnings = 0;
this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.ConsoleCleared);
@@ -181,7 +157,7 @@ WebInspector.ConsoleModel.evaluateCommandInConsole = function(executionContext,
if (!result)
return;
- this.show();
+ WebInspector.console.show();
this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.CommandEvaluated, {result: result, wasThrown: wasThrown, text: text, commandMessage: commandMessage});
}
@@ -473,7 +449,7 @@ WebInspector.ConsoleDispatcher.prototype = {
this._console._enablingConsole,
payload.executionContextId,
payload.asyncStackTrace);
- this._console.addMessage(consoleMessage, true);
+ this._console.addMessage(consoleMessage);
},
/**
@@ -486,11 +462,84 @@ WebInspector.ConsoleDispatcher.prototype = {
messagesCleared: function()
{
if (!WebInspector.settings.preserveConsoleLog.get())
- this._console.clearMessages();
+ this._console._messagesCleared();
}
}
/**
- * @type {!WebInspector.ConsoleModel}
+ * @constructor
+ * @extends {WebInspector.Object}
+ * @implements {WebInspector.TargetManager.Observer}
+ */
+WebInspector.MultitargetConsoleModel = function()
+{
+ WebInspector.targetManager.observeTargets(this);
+}
+
+WebInspector.MultitargetConsoleModel.prototype = {
+ /**
+ * @param {!WebInspector.Target} target
+ */
+ targetAdded: function(target)
+ {
+ if (!this._mainTarget) {
+ this._mainTarget = target;
+ target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.ConsoleCleared, this._consoleCleared, this);
+ }
+ target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.MessageAdded, this._consoleMessageAdded, this);
+ target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.CommandEvaluated, this._commandEvaluated, this);
+ },
+
+ /**
+ * @param {!WebInspector.Target} target
+ */
+ targetRemoved: function(target)
+ {
+ if (this._mainTarget === target) {
+ delete this._mainTarget;
+ target.consoleModel.removeEventListener(WebInspector.ConsoleModel.Events.ConsoleCleared, this._consoleCleared, this);
+ }
+ target.consoleModel.removeEventListener(WebInspector.ConsoleModel.Events.MessageAdded, this._consoleMessageAdded, this);
+ target.consoleModel.removeEventListener(WebInspector.ConsoleModel.Events.CommandEvaluated, this._commandEvaluated, this);
+ },
+
+ /**
+ * @return {!Array.<!WebInspector.ConsoleMessage>}
+ */
+ messages: function()
+ {
+ var targets = WebInspector.targetManager.targets();
+ var result = [];
+ for (var i = 0; i < targets.length; ++i)
+ result = result.concat(targets[i].consoleModel.messages());
+ return result;
+ },
+
+ _consoleCleared: function()
+ {
+ this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.ConsoleCleared);
+ },
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _consoleMessageAdded: function(event)
+ {
+ this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.MessageAdded, event.data);
+ },
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _commandEvaluated: function(event)
+ {
+ this.dispatchEventToListeners(WebInspector.ConsoleModel.Events.CommandEvaluated, event.data);
+ },
+
+ __proto__: WebInspector.Object.prototype
+}
+
+/**
+ * @type {!WebInspector.MultitargetConsoleModel}
*/
-WebInspector.consoleModel;
+WebInspector.multitargetConsoleModel;
« no previous file with comments | « Source/devtools/front_end/sdk/CompilerScriptMapping.js ('k') | Source/devtools/front_end/sdk/IsolatedFileSystemManager.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698