Chromium Code Reviews| Index: Source/devtools/front_end/ConsoleView.js |
| diff --git a/Source/devtools/front_end/ConsoleView.js b/Source/devtools/front_end/ConsoleView.js |
| index d5ed5d54183ce01d8e3720e2c9a3cfb47325b824..e723a6738972a7967d871c9b181b5768d7ef3063 100644 |
| --- a/Source/devtools/front_end/ConsoleView.js |
| +++ b/Source/devtools/front_end/ConsoleView.js |
| @@ -103,6 +103,7 @@ WebInspector.ConsoleView = function(hideContextSelector) |
| this._messageToViewMessage = new Map(); |
| /** @type {!Array.<!WebInspector.ConsoleMessage>} */ |
| this._consoleMessages = []; |
| + this._previous_message = null; |
|
pfeldman
2014/03/25 13:09:32
You want this._previousMessage
sergeyv
2014/03/25 13:42:56
Done.
|
| this.prompt = new WebInspector.TextPromptWithHistory(this._completionsForTextPrompt.bind(this)); |
| this.prompt.setSuggestBoxEnabled("generic-suggest"); |
| @@ -143,7 +144,6 @@ WebInspector.ConsoleView.prototype = { |
| { |
| target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.MessageAdded, this._onConsoleMessageAdded.bind(this, target), this); |
| target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.ConsoleCleared, this._consoleCleared, this); |
| - target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.RepeatCountUpdated, this._repeatCountUpdated, this); |
| target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.CommandEvaluated, this._commandEvaluated, this); |
| target.consoleModel.messages.forEach(this._consoleMessageAdded.bind(this, target)); |
| @@ -416,13 +416,20 @@ WebInspector.ConsoleView.prototype = { |
| */ |
| _consoleMessageAdded: function(target, message) |
| { |
| - this._consoleMessages.push(message); |
| - var viewMessage = this._createViewMessage(target, message); |
| if (this._urlToMessageCount[message.url]) |
| this._urlToMessageCount[message.url]++; |
| else |
| this._urlToMessageCount[message.url] = 1; |
| + if (this._previous_message && !message.isGroupMessage() && message.isEqual(this._previous_message)) { |
| + this._messageToViewMessage.get(this._previous_message).incrementRepeatCount(); |
| + return; |
| + } |
| + |
| + this._consoleMessages.push(message); |
| + this._previous_message = message; |
| + var viewMessage = this._createViewMessage(target, message); |
| + |
| if (this._filter.shouldBeVisible(viewMessage)) |
| this._showConsoleMessage(viewMessage); |
| else |
| @@ -500,6 +507,7 @@ WebInspector.ConsoleView.prototype = { |
| this._visibleViewMessages = []; |
| this._searchResults = []; |
| + this._previous_message = null; |
| this._messageToViewMessage.clear(); |
| this._consoleMessages = []; |
| @@ -512,15 +520,6 @@ WebInspector.ConsoleView.prototype = { |
| this._linkifier.reset(); |
| }, |
| - /** |
| - * @param {!WebInspector.Event} event |
| - */ |
| - _repeatCountUpdated: function(event) |
| - { |
| - var message = /** @type {!WebInspector.ConsoleMessage} */ (event.data); |
| - this._messageToViewMessage.get(message).updateRepeatCount(); |
| - }, |
| - |
| _handleContextMenuEvent: function(event) |
| { |
| if (event.target.enclosingNodeOrSelfWithNodeName("a")) |
| @@ -1075,7 +1074,8 @@ WebInspector.ConsoleCommandResult = function(result, wasThrown, originatingComma |
| { |
| this.originatingCommand = originatingCommand; |
| var level = wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log; |
| - var message = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.MessageType.Result, url, lineNumber, columnNumber, undefined, undefined, [result]); |
| + |
| + var message = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.MessageType.Result, url, lineNumber, columnNumber, undefined, [result]); |
| WebInspector.ConsoleViewMessage.call(this, result.target(), message, linkifier); |
| } |