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

Side by Side Diff: Source/devtools/front_end/console/ConsoleView.js

Issue 1095943002: DevTools: [console] Logged promise rejections do not change state once handled (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: comments addressed Created 5 years, 8 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698