Chromium Code Reviews| 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 676ab02384638028e793f59677797057ebefcfa4..7894a20c5a8748318eaa5ba99afe13fb1a65a66e 100644 |
| --- a/Source/devtools/front_end/console/ConsoleView.js |
| +++ b/Source/devtools/front_end/console/ConsoleView.js |
| @@ -136,6 +136,7 @@ WebInspector.ConsoleView = function() |
| /** @type {!Array.<!WebInspector.ConsoleViewMessage>} */ |
| this._consoleMessages = []; |
| + this._viewMessageSymbol = Symbol("viewMessage"); |
| this._prompt = new WebInspector.TextPromptWithHistory(WebInspector.ExecutionContextSelector.completionsForTextPromptInCurrentContext); |
| this._prompt.setSuggestBoxEnabled(true); |
| @@ -299,7 +300,7 @@ WebInspector.ConsoleView.prototype = { |
| break; |
| } |
| - var consoleMessage = new WebInspector.ConsoleMessage(null, WebInspector.ConsoleMessage.MessageSource.Other, level, message.text, |
| + var consoleMessage = new WebInspector.ConsoleMessage(null, 0, WebInspector.ConsoleMessage.MessageSource.Other, level, message.text, |
| undefined, undefined, undefined, undefined, undefined, undefined, undefined, message.timestamp); |
| this._addConsoleMessage(consoleMessage); |
| }, |
| @@ -557,9 +558,21 @@ WebInspector.ConsoleView.prototype = { |
| return WebInspector.ConsoleMessage.timestampComparator(viewMessage1.consoleMessage(), viewMessage2.consoleMessage()); |
| } |
| + if (message.level === WebInspector.ConsoleMessage.MessageLevel.RevokedError) { |
| + var relatedMessage = message.relatedMessage(); |
| + if (relatedMessage) { |
| + relatedMessage.level = WebInspector.ConsoleMessage.MessageLevel.RevokedError; |
|
dgozman
2015/04/21 09:16:35
Why does view mutate model objects? Let's move thi
pfeldman
2015/04/21 12:15:27
Done.
|
| + var viewMessage = relatedMessage[this._viewMessageSymbol]; |
| + if (viewMessage) |
| + viewMessage.updateMessageElement(); |
| + } |
| + return; |
| + } |
| + |
| if (message.type === WebInspector.ConsoleMessage.MessageType.Command || message.type === WebInspector.ConsoleMessage.MessageType.Result) |
| message.timestamp = this._consoleMessages.length ? this._consoleMessages.peekLast().consoleMessage().timestamp : 0; |
| var viewMessage = this._createViewMessage(message); |
| + message[this._viewMessageSymbol] = viewMessage; |
|
dgozman
2015/04/21 09:16:35
I think we will not get rid of this, even if we co
pfeldman
2015/04/21 12:15:27
Model and ui messages go hand in hand. When model
|
| var insertAt = insertionIndexForObjectInListSortedByFunction(viewMessage, this._consoleMessages, compareTimestamps, true); |
| var insertedInMiddle = insertAt < this._consoleMessages.length; |
| this._consoleMessages.splice(insertAt, 0, viewMessage); |
| @@ -607,8 +620,8 @@ WebInspector.ConsoleView.prototype = { |
| return; |
| } |
| if (!this._currentGroup.messagesHidden()) { |
| - var originatingMessage = viewMessage.consoleMessage().originatingMessage(); |
| - if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage) |
| + var relatedMessage = viewMessage.consoleMessage().relatedMessage(); |
| + if (lastMessage && relatedMessage && relatedMessage.type === WebInspector.ConsoleMessage.MessageType.Command && lastMessage.consoleMessage() === relatedMessage) |
| lastMessage.toMessageElement().classList.add("console-adjacent-user-command-result"); |
| this._visibleViewMessages.push(viewMessage); |
| @@ -915,10 +928,11 @@ WebInspector.ConsoleView.prototype = { |
| var level = wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log; |
| var message; |
| if (!wasThrown) |
| - message = new WebInspector.ConsoleMessage(result.target(), WebInspector.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.MessageType.Result, undefined, undefined, undefined, undefined, [result]); |
| + message = new WebInspector.ConsoleMessage(result.target(), 0, WebInspector.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.MessageType.Result, undefined, undefined, undefined, undefined, [result]); |
| else |
| - message = new WebInspector.ConsoleMessage(result.target(), WebInspector.ConsoleMessage.MessageSource.JS, level, exceptionDetails.text, WebInspector.ConsoleMessage.MessageType.Result, exceptionDetails.url, exceptionDetails.line, exceptionDetails.column, undefined, [WebInspector.UIString("Uncaught"), result], exceptionDetails.stackTrace, undefined, undefined, undefined, exceptionDetails.scriptId); |
| - message.setOriginatingMessage(originatingConsoleMessage); |
| + message = new WebInspector.ConsoleMessage(result.target(), 0, WebInspector.ConsoleMessage.MessageSource.JS, level, exceptionDetails.text, WebInspector.ConsoleMessage.MessageType.Result, exceptionDetails.url, exceptionDetails.line, exceptionDetails.column, undefined, [WebInspector.UIString("Uncaught"), result], exceptionDetails.stackTrace, undefined, undefined, undefined, exceptionDetails.scriptId); |
| + message.setRelatedMessage(originatingConsoleMessage); |
| + message.executionContextId = originatingConsoleMessage.executionContextId; |
| result.target().consoleModel.addMessage(message); |
| }, |