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 |