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; |
| 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; |
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 486 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 |