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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 this._searchableView = new WebInspector.SearchableView(this); | 43 this._searchableView = new WebInspector.SearchableView(this); |
| 44 this._searchableView.setMinimalSearchQuerySize(0); | 44 this._searchableView.setMinimalSearchQuerySize(0); |
| 45 this._searchableView.show(this.element); | 45 this._searchableView.show(this.element); |
| 46 | 46 |
| 47 this._contentsElement = this._searchableView.element; | 47 this._contentsElement = this._searchableView.element; |
| 48 this._contentsElement.classList.add("console-view"); | 48 this._contentsElement.classList.add("console-view"); |
| 49 this._visibleViewMessages = []; | 49 this._visibleViewMessages = []; |
| 50 this._urlToMessageCount = {}; | 50 this._urlToMessageCount = {}; |
| 51 this._hiddenByFilterCount = 0; | 51 this._hiddenByFilterCount = 0; |
| 52 | 52 |
| 53 /** | |
| 54 * @type {!Array.<!WebInspector.ConsoleView.RegexMatchRange>} | |
| 55 */ | |
| 56 this._regexMatchRanges = []; | |
| 57 | |
| 53 this._clearConsoleButton = new WebInspector.StatusBarButton(WebInspector.UIS tring("Clear console log."), "clear-status-bar-item"); | 58 this._clearConsoleButton = new WebInspector.StatusBarButton(WebInspector.UIS tring("Clear console log."), "clear-status-bar-item"); |
| 54 this._clearConsoleButton.addEventListener("click", this._requestClearMessage s, this); | 59 this._clearConsoleButton.addEventListener("click", this._requestClearMessage s, this); |
| 55 | 60 |
| 56 this._executionContextSelector = new WebInspector.StatusBarComboBox(this._ex ecutionContextChanged.bind(this), "console-context"); | 61 this._executionContextSelector = new WebInspector.StatusBarComboBox(this._ex ecutionContextChanged.bind(this), "console-context"); |
| 57 | 62 |
| 58 /** | 63 /** |
| 59 * @type {!Map.<!WebInspector.ExecutionContext, !Element>} | 64 * @type {!Map.<!WebInspector.ExecutionContext, !Element>} |
| 60 */ | 65 */ |
| 61 this._optionByExecutionContext = new Map(); | 66 this._optionByExecutionContext = new Map(); |
| 62 | 67 |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 576 this._currentGroup = this._currentGroup.parentGroup(); | 581 this._currentGroup = this._currentGroup.parentGroup(); |
| 577 return; | 582 return; |
| 578 } | 583 } |
| 579 if (!this._currentGroup.messagesHidden()) { | 584 if (!this._currentGroup.messagesHidden()) { |
| 580 var originatingMessage = viewMessage.consoleMessage().originatingMes sage(); | 585 var originatingMessage = viewMessage.consoleMessage().originatingMes sage(); |
| 581 if (lastMessage && originatingMessage && lastMessage.consoleMessage( ) === originatingMessage) | 586 if (lastMessage && originatingMessage && lastMessage.consoleMessage( ) === originatingMessage) |
| 582 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); | 587 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); |
| 583 | 588 |
| 584 this._visibleViewMessages.push(viewMessage); | 589 this._visibleViewMessages.push(viewMessage); |
| 585 | 590 |
| 586 if (this._searchRegex && viewMessage.matchesRegex(this._searchRegex) ) { | 591 if (this._searchRegex && this._searchMessage(this._visibleViewMessag es.length - 1)) |
| 587 this._searchResults.push(viewMessage); | 592 this._searchableView.updateSearchMatchesCount(this._regexMatchRa nges.length); |
| 588 this._searchableView.updateSearchMatchesCount(this._searchResult s.length); | |
| 589 } | |
| 590 } | 593 } |
| 591 | 594 |
| 592 if (viewMessage.consoleMessage().isGroupStartMessage()) | 595 if (viewMessage.consoleMessage().isGroupStartMessage()) |
| 593 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); | 596 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); |
| 594 }, | 597 }, |
| 595 | 598 |
| 596 /** | 599 /** |
| 597 * @param {!WebInspector.ConsoleMessage} message | 600 * @param {!WebInspector.ConsoleMessage} message |
| 598 * @return {!WebInspector.ConsoleViewMessage} | 601 * @return {!WebInspector.ConsoleViewMessage} |
| 599 */ | 602 */ |
| 600 _createViewMessage: function(message) | 603 _createViewMessage: function(message) |
| 601 { | 604 { |
| 602 var nestingLevel = this._currentGroup.nestingLevel(); | 605 var nestingLevel = this._currentGroup.nestingLevel(); |
| 603 switch (message.type) { | 606 switch (message.type) { |
| 604 case WebInspector.ConsoleMessage.MessageType.Command: | 607 case WebInspector.ConsoleMessage.MessageType.Command: |
| 605 return new WebInspector.ConsoleCommand(message, this._linkifier, nes tingLevel); | 608 return new WebInspector.ConsoleCommand(message, this._linkifier, nes tingLevel); |
| 606 case WebInspector.ConsoleMessage.MessageType.Result: | 609 case WebInspector.ConsoleMessage.MessageType.Result: |
| 607 return new WebInspector.ConsoleCommandResult(message, this._linkifie r, nestingLevel); | 610 return new WebInspector.ConsoleCommandResult(message, this._linkifie r, nestingLevel); |
| 608 case WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed: | 611 case WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed: |
| 609 case WebInspector.ConsoleMessage.MessageType.StartGroup: | 612 case WebInspector.ConsoleMessage.MessageType.StartGroup: |
| 610 return new WebInspector.ConsoleGroupViewMessage(message, this._linki fier, nestingLevel); | 613 return new WebInspector.ConsoleGroupViewMessage(message, this._linki fier, nestingLevel); |
| 611 default: | 614 default: |
| 612 return new WebInspector.ConsoleViewMessage(message, this._linkifier, nestingLevel); | 615 return new WebInspector.ConsoleViewMessage(message, this._linkifier, nestingLevel); |
| 613 } | 616 } |
| 614 }, | 617 }, |
| 615 | 618 |
| 616 _consoleCleared: function() | 619 _consoleCleared: function() |
| 617 { | 620 { |
| 618 this._clearCurrentSearchResultHighlight(); | 621 this._clearSearchResultHighlights(); |
| 619 this._consoleMessages = []; | 622 this._consoleMessages = []; |
| 620 this._updateMessageList(); | 623 this._updateMessageList(); |
| 621 | 624 |
| 622 if (this._searchRegex) | 625 if (this._searchRegex) |
| 623 this._searchableView.updateSearchMatchesCount(0); | 626 this._searchableView.updateSearchMatchesCount(0); |
| 624 | 627 |
| 625 this._linkifier.reset(); | 628 this._linkifier.reset(); |
| 626 }, | 629 }, |
| 627 | 630 |
| 628 _handleContextMenuEvent: function(event) | 631 _handleContextMenuEvent: function(event) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 686 return true; | 689 return true; |
| 687 } | 690 } |
| 688 | 691 |
| 689 return false; | 692 return false; |
| 690 }, | 693 }, |
| 691 | 694 |
| 692 _updateMessageList: function() | 695 _updateMessageList: function() |
| 693 { | 696 { |
| 694 this._topGroup = WebInspector.ConsoleGroup.createTopGroup(); | 697 this._topGroup = WebInspector.ConsoleGroup.createTopGroup(); |
| 695 this._currentGroup = this._topGroup; | 698 this._currentGroup = this._topGroup; |
| 696 this._searchResults = []; | 699 this._regexMatchRanges = []; |
| 697 this._hiddenByFilterCount = 0; | 700 this._hiddenByFilterCount = 0; |
| 698 for (var i = 0; i < this._visibleViewMessages.length; ++i) { | 701 for (var i = 0; i < this._visibleViewMessages.length; ++i) { |
| 699 this._visibleViewMessages[i].resetCloseGroupDecorationCount(); | 702 this._visibleViewMessages[i].resetCloseGroupDecorationCount(); |
| 700 this._visibleViewMessages[i].resetIncrementRepeatCount(); | 703 this._visibleViewMessages[i].resetIncrementRepeatCount(); |
| 701 } | 704 } |
| 702 this._visibleViewMessages = []; | 705 this._visibleViewMessages = []; |
| 703 for (var i = 0; i < this._consoleMessages.length; ++i) | 706 for (var i = 0; i < this._consoleMessages.length; ++i) |
| 704 this._appendMessageToEnd(this._consoleMessages[i]); | 707 this._appendMessageToEnd(this._consoleMessages[i]); |
| 705 this._updateFilterStatus(); | 708 this._updateFilterStatus(); |
| 706 this._viewport.invalidate(); | 709 this._viewport.invalidate(); |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 904 elementsToRestoreScrollPositionsFor: function() | 907 elementsToRestoreScrollPositionsFor: function() |
| 905 { | 908 { |
| 906 return [this._messagesElement]; | 909 return [this._messagesElement]; |
| 907 }, | 910 }, |
| 908 | 911 |
| 909 /** | 912 /** |
| 910 * @override | 913 * @override |
| 911 */ | 914 */ |
| 912 searchCanceled: function() | 915 searchCanceled: function() |
| 913 { | 916 { |
| 914 this._clearCurrentSearchResultHighlight(); | 917 this._clearSearchResultHighlights(); |
| 915 delete this._searchResults; | 918 this._regexMatchRanges = []; |
| 916 delete this._searchRegex; | 919 delete this._searchRegex; |
| 917 this._viewport.refresh(); | 920 this._viewport.refresh(); |
| 918 }, | 921 }, |
| 919 | 922 |
| 920 /** | 923 /** |
| 921 * @override | 924 * @override |
| 922 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig | 925 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig |
| 923 * @param {boolean} shouldJump | 926 * @param {boolean} shouldJump |
| 924 * @param {boolean=} jumpBackwards | 927 * @param {boolean=} jumpBackwards |
| 925 */ | 928 */ |
| 926 performSearch: function(searchConfig, shouldJump, jumpBackwards) | 929 performSearch: function(searchConfig, shouldJump, jumpBackwards) |
| 927 { | 930 { |
| 928 var query = searchConfig.query; | 931 var query = searchConfig.query; |
| 929 this.searchCanceled(); | 932 this.searchCanceled(); |
| 930 this._searchableView.updateSearchMatchesCount(0); | 933 this._searchableView.updateSearchMatchesCount(0); |
| 931 this._searchRegex = createPlainTextSearchRegex(query, "gi"); | 934 this._searchRegex = createPlainTextSearchRegex(query, "gi"); |
| 932 | 935 |
| 933 /** @type {!Array.<number>} */ | 936 this._regexMatchRanges = []; |
| 934 this._searchResults = []; | 937 this._currentMatchRangeIndex = -1; |
| 935 for (var i = 0; i < this._visibleViewMessages.length; i++) { | 938 for (var i = 0; i < this._visibleViewMessages.length; i++) |
| 936 if (this._visibleViewMessages[i].matchesRegex(this._searchRegex)) | 939 this._searchMessage(i); |
| 937 this._searchResults.push(i); | 940 this._searchableView.updateSearchMatchesCount(this._regexMatchRanges.len gth); |
| 941 if (shouldJump) | |
| 942 this._jumpToMatch(jumpBackwards ? -1 : 0); | |
| 943 this._viewport.refresh(); | |
| 944 }, | |
| 945 | |
| 946 /** | |
| 947 * @param {number} index | |
|
lushnikov
2014/12/04 16:07:34
@return annotation is missing
aknudsen
2014/12/05 22:30:02
Done.
| |
| 948 */ | |
| 949 _searchMessage: function(index) | |
| 950 { | |
| 951 // Reset regex wrt. global search. | |
| 952 this._searchRegex.lastIndex = 0; | |
| 953 | |
| 954 var message = this._visibleViewMessages[index]; | |
| 955 var text = message.getText(); | |
| 956 var match; | |
| 957 var matchRanges = []; | |
| 958 var sourceRanges = []; | |
| 959 while ((match = this._searchRegex.exec(text)) && match[0]) { | |
| 960 matchRanges.push({ | |
| 961 messageIndex: index, | |
| 962 highlightNode: null, | |
| 963 }); | |
| 964 sourceRanges.push(new WebInspector.SourceRange(match.index, match[0] .length)); | |
| 938 } | 965 } |
| 939 this._searchableView.updateSearchMatchesCount(this._searchResults.length ); | 966 |
| 940 this._currentSearchResultIndex = -1; | 967 var matchRange; |
| 941 if (shouldJump && this._searchResults.length) | 968 var highlightNodes = message.highlightMatches(sourceRanges); |
| 942 this._jumpToSearchResult(jumpBackwards ? -1 : 0); | 969 for (var i = 0; i < matchRanges.length; ++i) { |
| 943 this._viewport.refresh(); | 970 matchRange = matchRanges[i]; |
| 971 matchRange.highlightNode = highlightNodes[i]; | |
| 972 this._regexMatchRanges.push(matchRange); | |
| 973 } | |
| 974 | |
| 975 return !!matchRange; | |
| 944 }, | 976 }, |
| 945 | 977 |
| 946 /** | 978 /** |
| 947 * @override | 979 * @override |
| 948 */ | 980 */ |
| 949 jumpToNextSearchResult: function() | 981 jumpToNextSearchResult: function() |
| 950 { | 982 { |
| 951 if (!this._searchResults || !this._searchResults.length) | 983 this._jumpToMatch(this._currentMatchRangeIndex + 1); |
| 952 return; | |
| 953 this._jumpToSearchResult(this._currentSearchResultIndex + 1); | |
| 954 }, | 984 }, |
| 955 | 985 |
| 956 /** | 986 /** |
| 957 * @override | 987 * @override |
| 958 */ | 988 */ |
| 959 jumpToPreviousSearchResult: function() | 989 jumpToPreviousSearchResult: function() |
| 960 { | 990 { |
| 961 if (!this._searchResults || !this._searchResults.length) | 991 this._jumpToMatch(this._currentMatchRangeIndex - 1); |
| 962 return; | |
| 963 this._jumpToSearchResult(this._currentSearchResultIndex - 1); | |
| 964 }, | 992 }, |
| 965 | 993 |
| 966 /** | 994 /** |
| 967 * @override | 995 * @override |
| 968 * @return {boolean} | 996 * @return {boolean} |
| 969 */ | 997 */ |
| 970 supportsCaseSensitiveSearch: function() | 998 supportsCaseSensitiveSearch: function() |
| 971 { | 999 { |
| 972 return false; | 1000 return false; |
| 973 }, | 1001 }, |
| 974 | 1002 |
| 975 /** | 1003 /** |
| 976 * @override | 1004 * @override |
| 977 * @return {boolean} | 1005 * @return {boolean} |
| 978 */ | 1006 */ |
| 979 supportsRegexSearch: function() | 1007 supportsRegexSearch: function() |
| 980 { | 1008 { |
| 981 return false; | 1009 return false; |
| 982 }, | 1010 }, |
| 983 | 1011 |
| 984 _clearCurrentSearchResultHighlight: function() | 1012 _clearSearchResultHighlights: function() |
| 985 { | 1013 { |
| 986 if (!this._searchResults) | 1014 for (var i = 0; i < this._regexMatchRanges.length; ++i) { |
| 1015 var matchRange = this._regexMatchRanges[i]; | |
| 1016 var message = this._visibleViewMessages[matchRange.messageIndex]; | |
| 1017 if (message) | |
| 1018 message.clearHighlights(); | |
| 1019 } | |
| 1020 this._currentMatchRangeIndex = -1; | |
| 1021 }, | |
| 1022 | |
| 1023 /** | |
| 1024 * @param {number} index | |
| 1025 */ | |
| 1026 _jumpToMatch: function(index) | |
| 1027 { | |
| 1028 if (!this._regexMatchRanges.length) | |
| 987 return; | 1029 return; |
| 988 | 1030 |
| 989 var highlightedViewMessage = this._visibleViewMessages[this._searchResul ts[this._currentSearchResultIndex]]; | 1031 var currentSearchResultClassName = "current-search-result"; |
| 990 if (highlightedViewMessage) | |
| 991 highlightedViewMessage.clearHighlight(); | |
| 992 this._currentSearchResultIndex = -1; | |
| 993 }, | |
| 994 | 1032 |
| 995 _jumpToSearchResult: function(index) | 1033 var matchRange; |
| 996 { | 1034 if (this._currentMatchRangeIndex >= 0) { |
| 997 index = mod(index, this._searchResults.length); | 1035 matchRange = this._regexMatchRanges[this._currentMatchRangeIndex]; |
| 998 this._clearCurrentSearchResultHighlight(); | 1036 matchRange.highlightNode.classList.remove(currentSearchResultClassNa me); |
| 999 this._currentSearchResultIndex = index; | 1037 } |
| 1000 this._searchableView.updateCurrentMatchIndex(this._currentSearchResultIn dex); | 1038 |
| 1001 var currentViewMessageIndex = this._searchResults[index]; | 1039 index = mod(index, this._regexMatchRanges.length); |
| 1002 this._viewport.scrollItemIntoView(currentViewMessageIndex); | 1040 this._currentMatchRangeIndex = index; |
| 1003 this._visibleViewMessages[currentViewMessageIndex].highlightSearchResult s(this._searchRegex); | 1041 this._searchableView.updateCurrentMatchIndex(index); |
| 1042 matchRange = this._regexMatchRanges[index]; | |
| 1043 matchRange.highlightNode.classList.add(currentSearchResultClassName); | |
| 1044 // Scroll the message itself into view | |
| 1045 this._viewport.scrollItemIntoView(matchRange.messageIndex); | |
| 1046 // In case the highlight node is in a tree element, it must be scrolled into view, | |
| 1047 // the message itself must first be scrolled into view though. | |
| 1048 matchRange.highlightNode.scrollIntoViewIfNeeded(); | |
| 1004 }, | 1049 }, |
| 1005 | 1050 |
| 1006 __proto__: WebInspector.VBox.prototype | 1051 __proto__: WebInspector.VBox.prototype |
| 1007 } | 1052 } |
| 1008 | 1053 |
| 1009 /** | 1054 /** |
| 1010 * @constructor | 1055 * @constructor |
| 1011 * @extends {WebInspector.Object} | 1056 * @extends {WebInspector.Object} |
| 1012 * @param {!WebInspector.ConsoleView} view | 1057 * @param {!WebInspector.ConsoleView} view |
| 1013 */ | 1058 */ |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1147 * @param {!WebInspector.ConsoleMessage} message | 1192 * @param {!WebInspector.ConsoleMessage} message |
| 1148 * @param {!WebInspector.Linkifier} linkifier | 1193 * @param {!WebInspector.Linkifier} linkifier |
| 1149 * @param {number} nestingLevel | 1194 * @param {number} nestingLevel |
| 1150 */ | 1195 */ |
| 1151 WebInspector.ConsoleCommand = function(message, linkifier, nestingLevel) | 1196 WebInspector.ConsoleCommand = function(message, linkifier, nestingLevel) |
| 1152 { | 1197 { |
| 1153 WebInspector.ConsoleViewMessage.call(this, message, linkifier, nestingLevel) ; | 1198 WebInspector.ConsoleViewMessage.call(this, message, linkifier, nestingLevel) ; |
| 1154 } | 1199 } |
| 1155 | 1200 |
| 1156 WebInspector.ConsoleCommand.prototype = { | 1201 WebInspector.ConsoleCommand.prototype = { |
| 1157 clearHighlight: function() | 1202 clearHighlights: function() |
| 1158 { | 1203 { |
| 1159 var highlightedMessage = this._formattedCommand; | 1204 var highlightedMessage = this._formattedCommand; |
| 1160 delete this._formattedCommand; | 1205 delete this._formattedCommand; |
| 1161 this._formatCommand(); | 1206 this._formatCommand(); |
| 1162 this._element.replaceChild(this._formattedCommand, highlightedMessage); | 1207 this._element.replaceChild(this._formattedCommand, highlightedMessage); |
| 1163 }, | 1208 }, |
| 1164 | 1209 |
| 1165 /** | 1210 /** |
| 1166 * @param {!RegExp} regexObject | |
| 1167 */ | |
| 1168 highlightSearchResults: function(regexObject) | |
| 1169 { | |
| 1170 regexObject.lastIndex = 0; | |
| 1171 var match = regexObject.exec(this.text); | |
| 1172 var matchRanges = []; | |
| 1173 while (match) { | |
| 1174 matchRanges.push(new WebInspector.SourceRange(match.index, match[0]. length)); | |
| 1175 match = regexObject.exec(this.text); | |
| 1176 } | |
| 1177 WebInspector.highlightSearchResults(this._formattedCommand, matchRanges) ; | |
| 1178 this._element.scrollIntoViewIfNeeded(); | |
| 1179 }, | |
| 1180 | |
| 1181 /** | |
| 1182 * @override | 1211 * @override |
| 1183 * @param {!RegExp} regexObject | 1212 * @param {!RegExp} regexObject |
| 1184 * @return {boolean} | 1213 * @return {boolean} |
| 1185 */ | 1214 */ |
| 1186 matchesRegex: function(regexObject) | 1215 matchesRegex: function(regexObject) |
| 1187 { | 1216 { |
| 1188 regexObject.lastIndex = 0; | 1217 regexObject.lastIndex = 0; |
| 1189 return regexObject.test(this.text); | 1218 return regexObject.test(this.text); |
| 1190 }, | 1219 }, |
| 1191 | 1220 |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 1204 } | 1233 } |
| 1205 return this._element; | 1234 return this._element; |
| 1206 }, | 1235 }, |
| 1207 | 1236 |
| 1208 _formatCommand: function() | 1237 _formatCommand: function() |
| 1209 { | 1238 { |
| 1210 this._formattedCommand = createElementWithClass("span", "console-message -text source-code"); | 1239 this._formattedCommand = createElementWithClass("span", "console-message -text source-code"); |
| 1211 this._formattedCommand.textContent = this.text; | 1240 this._formattedCommand.textContent = this.text; |
| 1212 }, | 1241 }, |
| 1213 | 1242 |
| 1243 /** | |
| 1244 * @override | |
| 1245 * @return {string} | |
| 1246 */ | |
| 1247 getText: function() | |
| 1248 { | |
| 1249 return this.text; | |
| 1250 }, | |
| 1251 | |
| 1252 /** | |
| 1253 * @override | |
| 1254 * @param {!Array.<!Object>} ranges | |
| 1255 * @return {!Array.<!Element>} | |
| 1256 */ | |
| 1257 highlightMatches: function(ranges) | |
| 1258 { | |
| 1259 var highlightNodes = []; | |
| 1260 if (this._formattedCommand) { | |
| 1261 highlightNodes = WebInspector.highlightRangesWithStyleClass(this._fo rmattedCommand, ranges, WebInspector.highlightedSearchResultClassName); | |
| 1262 } | |
| 1263 return highlightNodes; | |
| 1264 }, | |
| 1265 | |
| 1214 __proto__: WebInspector.ConsoleViewMessage.prototype | 1266 __proto__: WebInspector.ConsoleViewMessage.prototype |
| 1215 } | 1267 } |
| 1216 | 1268 |
| 1217 /** | 1269 /** |
| 1218 * @constructor | 1270 * @constructor |
| 1219 * @extends {WebInspector.ConsoleViewMessage} | 1271 * @extends {WebInspector.ConsoleViewMessage} |
| 1220 * @param {!WebInspector.ConsoleMessage} message | 1272 * @param {!WebInspector.ConsoleMessage} message |
| 1221 * @param {!WebInspector.Linkifier} linkifier | 1273 * @param {!WebInspector.Linkifier} linkifier |
| 1222 * @param {number} nestingLevel | 1274 * @param {number} nestingLevel |
| 1223 */ | 1275 */ |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1310 /** | 1362 /** |
| 1311 * @override | 1363 * @override |
| 1312 * @return {boolean} | 1364 * @return {boolean} |
| 1313 */ | 1365 */ |
| 1314 handleAction: function() | 1366 handleAction: function() |
| 1315 { | 1367 { |
| 1316 WebInspector.console.show(); | 1368 WebInspector.console.show(); |
| 1317 return true; | 1369 return true; |
| 1318 } | 1370 } |
| 1319 } | 1371 } |
| 1372 | |
| 1373 /** | |
| 1374 * @typedef {{messageIndex: number, highlightNode: !Element}} | |
| 1375 */ | |
| 1376 WebInspector.ConsoleView.RegexMatchRange; | |
| OLD | NEW |