Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Joseph Pecoraro | 3 * Copyright (C) 2009 Joseph Pecoraro |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 129 | 129 |
| 130 this._registerShortcuts(); | 130 this._registerShortcuts(); |
| 131 | 131 |
| 132 this._messagesElement.addEventListener("contextmenu", this._handleContextMen uEvent.bind(this), false); | 132 this._messagesElement.addEventListener("contextmenu", this._handleContextMen uEvent.bind(this), false); |
| 133 WebInspector.moduleSetting("monitoringXHREnabled").addChangeListener(this._m onitoringXHREnabledSettingChanged, this); | 133 WebInspector.moduleSetting("monitoringXHREnabled").addChangeListener(this._m onitoringXHREnabledSettingChanged, this); |
| 134 | 134 |
| 135 this._linkifier = new WebInspector.Linkifier(); | 135 this._linkifier = new WebInspector.Linkifier(); |
| 136 | 136 |
| 137 /** @type {!Array.<!WebInspector.ConsoleViewMessage>} */ | 137 /** @type {!Array.<!WebInspector.ConsoleViewMessage>} */ |
| 138 this._consoleMessages = []; | 138 this._consoleMessages = []; |
| 139 this._viewMessageSymbol = Symbol("viewMessage"); | |
| 139 | 140 |
| 140 this._prompt = new WebInspector.TextPromptWithHistory(WebInspector.Execution ContextSelector.completionsForTextPromptInCurrentContext); | 141 this._prompt = new WebInspector.TextPromptWithHistory(WebInspector.Execution ContextSelector.completionsForTextPromptInCurrentContext); |
| 141 this._prompt.setSuggestBoxEnabled(true); | 142 this._prompt.setSuggestBoxEnabled(true); |
| 142 this._prompt.setAutocompletionTimeout(0); | 143 this._prompt.setAutocompletionTimeout(0); |
| 143 this._prompt.renderAsBlock(); | 144 this._prompt.renderAsBlock(); |
| 144 var proxyElement = this._prompt.attach(this._promptElement); | 145 var proxyElement = this._prompt.attach(this._promptElement); |
| 145 proxyElement.addEventListener("keydown", this._promptKeyDown.bind(this), fal se); | 146 proxyElement.addEventListener("keydown", this._promptKeyDown.bind(this), fal se); |
| 146 | 147 |
| 147 this._consoleHistorySetting = WebInspector.settings.createLocalSetting("cons oleHistory", []); | 148 this._consoleHistorySetting = WebInspector.settings.createLocalSetting("cons oleHistory", []); |
| 148 var historyData = this._consoleHistorySetting.get(); | 149 var historyData = this._consoleHistorySetting.get(); |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 292 var level = WebInspector.ConsoleMessage.MessageLevel.Debug; | 293 var level = WebInspector.ConsoleMessage.MessageLevel.Debug; |
| 293 switch (message.level) { | 294 switch (message.level) { |
| 294 case WebInspector.Console.MessageLevel.Error: | 295 case WebInspector.Console.MessageLevel.Error: |
| 295 level = WebInspector.ConsoleMessage.MessageLevel.Error; | 296 level = WebInspector.ConsoleMessage.MessageLevel.Error; |
| 296 break; | 297 break; |
| 297 case WebInspector.Console.MessageLevel.Warning: | 298 case WebInspector.Console.MessageLevel.Warning: |
| 298 level = WebInspector.ConsoleMessage.MessageLevel.Warning; | 299 level = WebInspector.ConsoleMessage.MessageLevel.Warning; |
| 299 break; | 300 break; |
| 300 } | 301 } |
| 301 | 302 |
| 302 var consoleMessage = new WebInspector.ConsoleMessage(null, WebInspector. ConsoleMessage.MessageSource.Other, level, message.text, | 303 var consoleMessage = new WebInspector.ConsoleMessage(null, 0, WebInspect or.ConsoleMessage.MessageSource.Other, level, message.text, |
| 303 undefined, undefined, undefined, undefined, undefined, undefined , undefined, message.timestamp); | 304 undefined, undefined, undefined, undefined, undefined, undefined , undefined, message.timestamp); |
| 304 this._addConsoleMessage(consoleMessage); | 305 this._addConsoleMessage(consoleMessage); |
| 305 }, | 306 }, |
| 306 | 307 |
| 307 /** | 308 /** |
| 308 * @param {!WebInspector.Event} event | 309 * @param {!WebInspector.Event} event |
| 309 */ | 310 */ |
| 310 _consoleTimestampsSettingChanged: function(event) | 311 _consoleTimestampsSettingChanged: function(event) |
| 311 { | 312 { |
| 312 var enabled = /** @type {boolean} */ (event.data); | 313 var enabled = /** @type {boolean} */ (event.data); |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 550 /** | 551 /** |
| 551 * @param {!WebInspector.ConsoleViewMessage} viewMessage1 | 552 * @param {!WebInspector.ConsoleViewMessage} viewMessage1 |
| 552 * @param {!WebInspector.ConsoleViewMessage} viewMessage2 | 553 * @param {!WebInspector.ConsoleViewMessage} viewMessage2 |
| 553 * @return {number} | 554 * @return {number} |
| 554 */ | 555 */ |
| 555 function compareTimestamps(viewMessage1, viewMessage2) | 556 function compareTimestamps(viewMessage1, viewMessage2) |
| 556 { | 557 { |
| 557 return WebInspector.ConsoleMessage.timestampComparator(viewMessage1. consoleMessage(), viewMessage2.consoleMessage()); | 558 return WebInspector.ConsoleMessage.timestampComparator(viewMessage1. consoleMessage(), viewMessage2.consoleMessage()); |
| 558 } | 559 } |
| 559 | 560 |
| 561 if (message.level === WebInspector.ConsoleMessage.MessageLevel.RevokedEr ror) { | |
| 562 var relatedMessage = message.relatedMessage(); | |
| 563 if (relatedMessage) { | |
| 564 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.
| |
| 565 var viewMessage = relatedMessage[this._viewMessageSymbol]; | |
| 566 if (viewMessage) | |
| 567 viewMessage.updateMessageElement(); | |
| 568 } | |
| 569 return; | |
| 570 } | |
| 571 | |
| 560 if (message.type === WebInspector.ConsoleMessage.MessageType.Command || message.type === WebInspector.ConsoleMessage.MessageType.Result) | 572 if (message.type === WebInspector.ConsoleMessage.MessageType.Command || message.type === WebInspector.ConsoleMessage.MessageType.Result) |
| 561 message.timestamp = this._consoleMessages.length ? this._consoleMess ages.peekLast().consoleMessage().timestamp : 0; | 573 message.timestamp = this._consoleMessages.length ? this._consoleMess ages.peekLast().consoleMessage().timestamp : 0; |
| 562 var viewMessage = this._createViewMessage(message); | 574 var viewMessage = this._createViewMessage(message); |
| 575 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
| |
| 563 var insertAt = insertionIndexForObjectInListSortedByFunction(viewMessage , this._consoleMessages, compareTimestamps, true); | 576 var insertAt = insertionIndexForObjectInListSortedByFunction(viewMessage , this._consoleMessages, compareTimestamps, true); |
| 564 var insertedInMiddle = insertAt < this._consoleMessages.length; | 577 var insertedInMiddle = insertAt < this._consoleMessages.length; |
| 565 this._consoleMessages.splice(insertAt, 0, viewMessage); | 578 this._consoleMessages.splice(insertAt, 0, viewMessage); |
| 566 | 579 |
| 567 if (this._urlToMessageCount[message.url]) | 580 if (this._urlToMessageCount[message.url]) |
| 568 ++this._urlToMessageCount[message.url]; | 581 ++this._urlToMessageCount[message.url]; |
| 569 else | 582 else |
| 570 this._urlToMessageCount[message.url] = 1; | 583 this._urlToMessageCount[message.url] = 1; |
| 571 | 584 |
| 572 if (!insertedInMiddle) { | 585 if (!insertedInMiddle) { |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 600 return; | 613 return; |
| 601 | 614 |
| 602 var lastMessage = this._visibleViewMessages.peekLast(); | 615 var lastMessage = this._visibleViewMessages.peekLast(); |
| 603 if (viewMessage.consoleMessage().type === WebInspector.ConsoleMessage.Me ssageType.EndGroup) { | 616 if (viewMessage.consoleMessage().type === WebInspector.ConsoleMessage.Me ssageType.EndGroup) { |
| 604 if (lastMessage && !this._currentGroup.messagesHidden()) | 617 if (lastMessage && !this._currentGroup.messagesHidden()) |
| 605 lastMessage.incrementCloseGroupDecorationCount(); | 618 lastMessage.incrementCloseGroupDecorationCount(); |
| 606 this._currentGroup = this._currentGroup.parentGroup(); | 619 this._currentGroup = this._currentGroup.parentGroup(); |
| 607 return; | 620 return; |
| 608 } | 621 } |
| 609 if (!this._currentGroup.messagesHidden()) { | 622 if (!this._currentGroup.messagesHidden()) { |
| 610 var originatingMessage = viewMessage.consoleMessage().originatingMes sage(); | 623 var relatedMessage = viewMessage.consoleMessage().relatedMessage(); |
| 611 if (lastMessage && originatingMessage && lastMessage.consoleMessage( ) === originatingMessage) | 624 if (lastMessage && relatedMessage && relatedMessage.type === WebInsp ector.ConsoleMessage.MessageType.Command && lastMessage.consoleMessage() === rel atedMessage) |
| 612 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); | 625 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); |
| 613 | 626 |
| 614 this._visibleViewMessages.push(viewMessage); | 627 this._visibleViewMessages.push(viewMessage); |
| 615 this._searchMessage(this._visibleViewMessages.length - 1); | 628 this._searchMessage(this._visibleViewMessages.length - 1); |
| 616 } | 629 } |
| 617 | 630 |
| 618 if (viewMessage.consoleMessage().isGroupStartMessage()) | 631 if (viewMessage.consoleMessage().isGroupStartMessage()) |
| 619 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); | 632 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); |
| 620 | 633 |
| 621 this._messageAppendedForTests(); | 634 this._messageAppendedForTests(); |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 908 * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails | 921 * @param {?DebuggerAgent.ExceptionDetails=} exceptionDetails |
| 909 */ | 922 */ |
| 910 _printResult: function(result, wasThrown, originatingConsoleMessage, excepti onDetails) | 923 _printResult: function(result, wasThrown, originatingConsoleMessage, excepti onDetails) |
| 911 { | 924 { |
| 912 if (!result) | 925 if (!result) |
| 913 return; | 926 return; |
| 914 | 927 |
| 915 var level = wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log; | 928 var level = wasThrown ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log; |
| 916 var message; | 929 var message; |
| 917 if (!wasThrown) | 930 if (!wasThrown) |
| 918 message = new WebInspector.ConsoleMessage(result.target(), WebInspec tor.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.Mess ageType.Result, undefined, undefined, undefined, undefined, [result]); | 931 message = new WebInspector.ConsoleMessage(result.target(), 0, WebIns pector.ConsoleMessage.MessageSource.JS, level, "", WebInspector.ConsoleMessage.M essageType.Result, undefined, undefined, undefined, undefined, [result]); |
| 919 else | 932 else |
| 920 message = new WebInspector.ConsoleMessage(result.target(), WebInspec tor.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); | 933 message = new WebInspector.ConsoleMessage(result.target(), 0, WebIns pector.ConsoleMessage.MessageSource.JS, level, exceptionDetails.text, WebInspect or.ConsoleMessage.MessageType.Result, exceptionDetails.url, exceptionDetails.lin e, exceptionDetails.column, undefined, [WebInspector.UIString("Uncaught"), resul t], exceptionDetails.stackTrace, undefined, undefined, undefined, exceptionDetai ls.scriptId); |
| 921 message.setOriginatingMessage(originatingConsoleMessage); | 934 message.setRelatedMessage(originatingConsoleMessage); |
| 935 message.executionContextId = originatingConsoleMessage.executionContextI d; | |
| 922 result.target().consoleModel.addMessage(message); | 936 result.target().consoleModel.addMessage(message); |
| 923 }, | 937 }, |
| 924 | 938 |
| 925 /** | 939 /** |
| 926 * @param {string} text | 940 * @param {string} text |
| 927 * @param {boolean} useCommandLineAPI | 941 * @param {boolean} useCommandLineAPI |
| 928 */ | 942 */ |
| 929 _appendCommand: function(text, useCommandLineAPI) | 943 _appendCommand: function(text, useCommandLineAPI) |
| 930 { | 944 { |
| 931 this._prompt.setText(""); | 945 this._prompt.setText(""); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1149 }; | 1163 }; |
| 1150 | 1164 |
| 1151 WebInspector.ConsoleViewFilter.prototype = { | 1165 WebInspector.ConsoleViewFilter.prototype = { |
| 1152 addFilters: function(filterBar) | 1166 addFilters: function(filterBar) |
| 1153 { | 1167 { |
| 1154 this._textFilterUI = new WebInspector.TextFilterUI(true); | 1168 this._textFilterUI = new WebInspector.TextFilterUI(true); |
| 1155 this._textFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterC hanged, this._textFilterChanged, this); | 1169 this._textFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterC hanged, this._textFilterChanged, this); |
| 1156 filterBar.addFilter(this._textFilterUI); | 1170 filterBar.addFilter(this._textFilterUI); |
| 1157 | 1171 |
| 1158 var levels = [ | 1172 var levels = [ |
| 1159 {name: "error", label: WebInspector.UIString("Errors")}, | 1173 {name: "error", label: WebInspector.UIString("Errors")}, |
|
dgozman
2015/04/21 09:16:35
Either add revokedError here or better map it to e
pfeldman
2015/04/21 12:15:27
Done.
| |
| 1160 {name: "warning", label: WebInspector.UIString("Warnings")}, | 1174 {name: "warning", label: WebInspector.UIString("Warnings")}, |
| 1161 {name: "info", label: WebInspector.UIString("Info")}, | 1175 {name: "info", label: WebInspector.UIString("Info")}, |
| 1162 {name: "log", label: WebInspector.UIString("Logs")}, | 1176 {name: "log", label: WebInspector.UIString("Logs")}, |
| 1163 {name: "debug", label: WebInspector.UIString("Debug")} | 1177 {name: "debug", label: WebInspector.UIString("Debug")} |
| 1164 ]; | 1178 ]; |
| 1165 this._levelFilterUI = new WebInspector.NamedBitSetFilterUI(levels, this. _messageLevelFiltersSetting); | 1179 this._levelFilterUI = new WebInspector.NamedBitSetFilterUI(levels, this. _messageLevelFiltersSetting); |
| 1166 this._levelFilterUI.addEventListener(WebInspector.FilterUI.Events.Filter Changed, this._filterChanged, this); | 1180 this._levelFilterUI.addEventListener(WebInspector.FilterUI.Events.Filter Changed, this._filterChanged, this); |
| 1167 filterBar.addFilter(this._levelFilterUI); | 1181 filterBar.addFilter(this._levelFilterUI); |
| 1168 this._hideNetworkMessagesCheckbox = new WebInspector.CheckboxFilterUI("h ide-network-messages", WebInspector.UIString("Hide network messages"), true, Web Inspector.moduleSetting("hideNetworkMessages")); | 1182 this._hideNetworkMessagesCheckbox = new WebInspector.CheckboxFilterUI("h ide-network-messages", WebInspector.UIString("Hide network messages"), true, Web Inspector.moduleSetting("hideNetworkMessages")); |
| 1169 this._hideNetworkMessagesCheckbox.addEventListener(WebInspector.FilterUI .Events.FilterChanged, this._filterChanged.bind(this), this); | 1183 this._hideNetworkMessagesCheckbox.addEventListener(WebInspector.FilterUI .Events.FilterChanged, this._filterChanged.bind(this), this); |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1418 handleAction: function(context, actionId) | 1432 handleAction: function(context, actionId) |
| 1419 { | 1433 { |
| 1420 WebInspector.console.show(); | 1434 WebInspector.console.show(); |
| 1421 } | 1435 } |
| 1422 } | 1436 } |
| 1423 | 1437 |
| 1424 /** | 1438 /** |
| 1425 * @typedef {{messageIndex: number, matchIndex: number}} | 1439 * @typedef {{messageIndex: number, matchIndex: number}} |
| 1426 */ | 1440 */ |
| 1427 WebInspector.ConsoleView.RegexMatchRange; | 1441 WebInspector.ConsoleView.RegexMatchRange; |
| OLD | NEW |