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 30 matching lines...) Expand all Loading... | |
| 41 | 41 |
| 42 this._searchableView = new WebInspector.SearchableView(this); | 42 this._searchableView = new WebInspector.SearchableView(this); |
| 43 this._searchableView.setMinimalSearchQuerySize(0); | 43 this._searchableView.setMinimalSearchQuerySize(0); |
| 44 this._searchableView.show(this.element); | 44 this._searchableView.show(this.element); |
| 45 | 45 |
| 46 this._contentsElement = this._searchableView.element; | 46 this._contentsElement = this._searchableView.element; |
| 47 this._contentsElement.classList.add("console-view"); | 47 this._contentsElement.classList.add("console-view"); |
| 48 this._visibleViewMessages = []; | 48 this._visibleViewMessages = []; |
| 49 this._urlToMessageCount = {}; | 49 this._urlToMessageCount = {}; |
| 50 this._hiddenByFilterCount = 0; | 50 this._hiddenByFilterCount = 0; |
| 51 this._regexMatchRanges = []; | |
| 52 | |
| 51 | 53 |
| 52 this._clearConsoleButton = new WebInspector.StatusBarButton(WebInspector.UIS tring("Clear console log."), "clear-status-bar-item"); | 54 this._clearConsoleButton = new WebInspector.StatusBarButton(WebInspector.UIS tring("Clear console log."), "clear-status-bar-item"); |
| 53 this._clearConsoleButton.addEventListener("click", this._requestClearMessage s, this); | 55 this._clearConsoleButton.addEventListener("click", this._requestClearMessage s, this); |
| 54 | 56 |
| 55 this._executionContextSelector = new WebInspector.StatusBarComboBox(this._ex ecutionContextChanged.bind(this), "console-context"); | 57 this._executionContextSelector = new WebInspector.StatusBarComboBox(this._ex ecutionContextChanged.bind(this), "console-context"); |
| 56 | 58 |
| 57 /** | 59 /** |
| 58 * @type {!Map.<!WebInspector.ExecutionContext, !Element>} | 60 * @type {!Map.<!WebInspector.ExecutionContext, !Element>} |
| 59 */ | 61 */ |
| 60 this._optionByExecutionContext = new Map(); | 62 this._optionByExecutionContext = new Map(); |
| (...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 567 this._currentGroup = this._currentGroup.parentGroup(); | 569 this._currentGroup = this._currentGroup.parentGroup(); |
| 568 return; | 570 return; |
| 569 } | 571 } |
| 570 if (!this._currentGroup.messagesHidden()) { | 572 if (!this._currentGroup.messagesHidden()) { |
| 571 var originatingMessage = viewMessage.consoleMessage().originatingMes sage(); | 573 var originatingMessage = viewMessage.consoleMessage().originatingMes sage(); |
| 572 if (lastMessage && originatingMessage && lastMessage.consoleMessage( ) === originatingMessage) | 574 if (lastMessage && originatingMessage && lastMessage.consoleMessage( ) === originatingMessage) |
| 573 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); | 575 lastMessage.toMessageElement().classList.add("console-adjacent-u ser-command-result"); |
| 574 | 576 |
| 575 this._visibleViewMessages.push(viewMessage); | 577 this._visibleViewMessages.push(viewMessage); |
| 576 | 578 |
| 577 if (this._searchRegex && viewMessage.matchesRegex(this._searchRegex) ) { | 579 if (this._searchRegex && this._searchMessage(this._visibleViewMessag es.length-1)) { |
|
robwu
2014/10/25 23:12:59
Spaces around minus.
aknudsen
2014/10/26 11:22:40
Done.
| |
| 578 this._searchResults.push(viewMessage); | 580 this._searchableView.updateSearchMatchesCount(this._regexMatchRa nges.length); |
| 579 this._searchableView.updateSearchMatchesCount(this._searchResult s.length); | |
| 580 } | 581 } |
| 581 } | 582 } |
| 582 | 583 |
| 583 if (viewMessage.consoleMessage().isGroupStartMessage()) | 584 if (viewMessage.consoleMessage().isGroupStartMessage()) |
| 584 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); | 585 this._currentGroup = new WebInspector.ConsoleGroup(this._currentGrou p, viewMessage); |
| 585 }, | 586 }, |
| 586 | 587 |
| 587 /** | 588 /** |
| 588 * @param {!WebInspector.ConsoleMessage} message | 589 * @param {!WebInspector.ConsoleMessage} message |
| 589 * @return {!WebInspector.ConsoleViewMessage} | 590 * @return {!WebInspector.ConsoleViewMessage} |
| 590 */ | 591 */ |
| 591 _createViewMessage: function(message) | 592 _createViewMessage: function(message) |
| 592 { | 593 { |
| 593 var nestingLevel = this._currentGroup.nestingLevel(); | 594 var nestingLevel = this._currentGroup.nestingLevel(); |
| 594 switch (message.type) { | 595 switch (message.type) { |
| 595 case WebInspector.ConsoleMessage.MessageType.Command: | 596 case WebInspector.ConsoleMessage.MessageType.Command: |
| 596 return new WebInspector.ConsoleCommand(message, this._linkifier, nes tingLevel); | 597 return new WebInspector.ConsoleCommand(message, this._linkifier, nes tingLevel); |
| 597 case WebInspector.ConsoleMessage.MessageType.Result: | 598 case WebInspector.ConsoleMessage.MessageType.Result: |
| 598 return new WebInspector.ConsoleCommandResult(message, this._linkifie r, nestingLevel); | 599 return new WebInspector.ConsoleCommandResult(message, this._linkifie r, nestingLevel); |
| 599 case WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed: | 600 case WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed: |
| 600 case WebInspector.ConsoleMessage.MessageType.StartGroup: | 601 case WebInspector.ConsoleMessage.MessageType.StartGroup: |
| 601 return new WebInspector.ConsoleGroupViewMessage(message, this._linki fier, nestingLevel); | 602 return new WebInspector.ConsoleGroupViewMessage(message, this._linki fier, nestingLevel); |
| 602 default: | 603 default: |
| 603 return new WebInspector.ConsoleViewMessage(message, this._linkifier, nestingLevel); | 604 return new WebInspector.ConsoleViewMessage(message, this._linkifier, nestingLevel); |
| 604 } | 605 } |
| 605 }, | 606 }, |
| 606 | 607 |
| 607 _consoleCleared: function() | 608 _consoleCleared: function() |
| 608 { | 609 { |
| 609 this._clearCurrentSearchResultHighlight(); | 610 this._clearSearchResultHighlights(); |
| 610 this._consoleMessages = []; | 611 this._consoleMessages = []; |
| 611 this._updateMessageList(); | 612 this._updateMessageList(); |
| 612 | 613 |
| 613 if (this._searchRegex) | 614 if (this._searchRegex) |
| 614 this._searchableView.updateSearchMatchesCount(0); | 615 this._searchableView.updateSearchMatchesCount(0); |
| 615 | 616 |
| 616 this._linkifier.reset(); | 617 this._linkifier.reset(); |
| 617 }, | 618 }, |
| 618 | 619 |
| 619 _handleContextMenuEvent: function(event) | 620 _handleContextMenuEvent: function(event) |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 677 return true; | 678 return true; |
| 678 } | 679 } |
| 679 | 680 |
| 680 return false; | 681 return false; |
| 681 }, | 682 }, |
| 682 | 683 |
| 683 _updateMessageList: function() | 684 _updateMessageList: function() |
| 684 { | 685 { |
| 685 this._topGroup = WebInspector.ConsoleGroup.createTopGroup(); | 686 this._topGroup = WebInspector.ConsoleGroup.createTopGroup(); |
| 686 this._currentGroup = this._topGroup; | 687 this._currentGroup = this._topGroup; |
| 687 this._searchResults = []; | 688 this._regexMatchRanges = []; |
| 688 this._hiddenByFilterCount = 0; | 689 this._hiddenByFilterCount = 0; |
| 689 for (var i = 0; i < this._visibleViewMessages.length; ++i) { | 690 for (var i = 0; i < this._visibleViewMessages.length; ++i) { |
| 690 this._visibleViewMessages[i].resetCloseGroupDecorationCount(); | 691 this._visibleViewMessages[i].resetCloseGroupDecorationCount(); |
| 691 this._visibleViewMessages[i].resetIncrementRepeatCount(); | 692 this._visibleViewMessages[i].resetIncrementRepeatCount(); |
| 692 } | 693 } |
| 693 this._visibleViewMessages = []; | 694 this._visibleViewMessages = []; |
| 694 for (var i = 0; i < this._consoleMessages.length; ++i) | 695 for (var i = 0; i < this._consoleMessages.length; ++i) |
| 695 this._appendMessageToEnd(this._consoleMessages[i]); | 696 this._appendMessageToEnd(this._consoleMessages[i]); |
| 696 this._updateFilterStatus(); | 697 this._updateFilterStatus(); |
| 697 this._viewport.invalidate(); | 698 this._viewport.invalidate(); |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 891 /** | 892 /** |
| 892 * @return {!Array.<!Element>} | 893 * @return {!Array.<!Element>} |
| 893 */ | 894 */ |
| 894 elementsToRestoreScrollPositionsFor: function() | 895 elementsToRestoreScrollPositionsFor: function() |
| 895 { | 896 { |
| 896 return [this._messagesElement]; | 897 return [this._messagesElement]; |
| 897 }, | 898 }, |
| 898 | 899 |
| 899 searchCanceled: function() | 900 searchCanceled: function() |
| 900 { | 901 { |
| 901 this._clearCurrentSearchResultHighlight(); | 902 this._clearSearchResultHighlights(); |
| 902 delete this._searchResults; | 903 this._regexMatchRanges = []; |
| 903 delete this._searchRegex; | 904 delete this._searchRegex; |
| 904 this._viewport.refresh(); | 905 this._viewport.refresh(); |
| 905 }, | 906 }, |
| 906 | 907 |
| 907 /** | 908 /** |
| 908 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig | 909 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig |
| 909 * @param {boolean} shouldJump | 910 * @param {boolean} shouldJump |
| 910 * @param {boolean=} jumpBackwards | 911 * @param {boolean=} jumpBackwards |
| 911 */ | 912 */ |
| 912 performSearch: function(searchConfig, shouldJump, jumpBackwards) | 913 performSearch: function(searchConfig, shouldJump, jumpBackwards) |
| 913 { | 914 { |
| 914 var query = searchConfig.query; | 915 var query = searchConfig.query; |
| 915 this.searchCanceled(); | 916 this.searchCanceled(); |
| 916 this._searchableView.updateSearchMatchesCount(0); | 917 this._searchableView.updateSearchMatchesCount(0); |
| 917 this._searchRegex = createPlainTextSearchRegex(query, "gi"); | 918 this._searchRegex = createPlainTextSearchRegex(query, "gi"); |
| 918 | 919 |
| 919 /** @type {!Array.<number>} */ | 920 this._regexMatchRanges = []; |
| 920 this._searchResults = []; | 921 this._currentMatchRangeIndex = -1; |
| 921 for (var i = 0; i < this._visibleViewMessages.length; i++) { | 922 for (var i = 0; i < this._visibleViewMessages.length; i++) { |
| 922 if (this._visibleViewMessages[i].matchesRegex(this._searchRegex)) | 923 this._searchMessage(i); |
| 923 this._searchResults.push(i); | |
| 924 } | 924 } |
|
robwu
2014/10/25 23:12:59
Omit braces for single-line for/if/if-else blocks
aknudsen
2014/10/26 11:22:40
Done.
| |
| 925 this._searchableView.updateSearchMatchesCount(this._searchResults.length ); | 925 this._searchableView.updateSearchMatchesCount(this._regexMatchRanges.len gth); |
| 926 this._currentSearchResultIndex = -1; | 926 if (shouldJump) { |
| 927 if (shouldJump && this._searchResults.length) | 927 this._jumpToMatch(jumpBackwards ? -1 : 0); |
| 928 this._jumpToSearchResult(jumpBackwards ? -1 : 0); | 928 } else { |
| 929 console.log("Not jumping to current search result"); | |
| 930 } | |
| 929 this._viewport.refresh(); | 931 this._viewport.refresh(); |
| 930 }, | 932 }, |
| 931 | 933 |
| 932 jumpToNextSearchResult: function() | 934 jumpToNextSearchResult: function() |
| 933 { | 935 { |
| 934 if (!this._searchResults || !this._searchResults.length) | 936 this._jumpToMatch(this._currentMatchRangeIndex + 1); |
| 935 return; | |
| 936 this._jumpToSearchResult(this._currentSearchResultIndex + 1); | |
| 937 }, | 937 }, |
| 938 | 938 |
| 939 jumpToPreviousSearchResult: function() | 939 jumpToPreviousSearchResult: function() |
| 940 { | 940 { |
| 941 if (!this._searchResults || !this._searchResults.length) | 941 this._jumpToMatch(this._currentMatchRangeIndex - 1); |
| 942 return; | |
| 943 this._jumpToSearchResult(this._currentSearchResultIndex - 1); | |
| 944 }, | 942 }, |
| 945 | 943 |
| 946 /** | 944 /** |
| 947 * @return {boolean} | 945 * @return {boolean} |
| 948 */ | 946 */ |
| 949 supportsCaseSensitiveSearch: function() | 947 supportsCaseSensitiveSearch: function() |
| 950 { | 948 { |
| 951 return false; | 949 return false; |
| 952 }, | 950 }, |
| 953 | 951 |
| 954 /** | 952 /** |
| 955 * @return {boolean} | 953 * @return {boolean} |
| 956 */ | 954 */ |
| 957 supportsRegexSearch: function() | 955 supportsRegexSearch: function() |
| 958 { | 956 { |
| 959 return false; | 957 return false; |
| 960 }, | 958 }, |
| 961 | 959 |
| 962 _clearCurrentSearchResultHighlight: function() | 960 _clearSearchResultHighlights: function() |
| 963 { | 961 { |
| 964 if (!this._searchResults) | 962 console.log("Clearing search result highlights"); |
| 965 return; | 963 for (var i = 0; i < this._regexMatchRanges.length; ++i) { |
| 966 | 964 var matchRange = this._regexMatchRanges[i]; |
| 967 var highlightedViewMessage = this._visibleViewMessages[this._searchResul ts[this._currentSearchResultIndex]]; | 965 var message = this._visibleViewMessages[ |
| 968 if (highlightedViewMessage) | 966 matchRange.message]; |
|
robwu
2014/10/25 23:13:00
matchRange.message? As said in the comment below,
aknudsen
2014/10/26 11:22:40
I changed it to messageIndex, since it's actually
| |
| 969 highlightedViewMessage.clearHighlight(); | 967 if (message) { |
| 970 this._currentSearchResultIndex = -1; | 968 message.clearHighlights(); |
| 969 } | |
| 970 } | |
| 971 this._currentMatchRangeIndex = -1; | |
| 971 }, | 972 }, |
| 972 | 973 |
| 973 _jumpToSearchResult: function(index) | 974 _jumpToMatch: function(index) |
|
robwu
2014/10/25 23:12:59
"_jumpToSearchResult" was more descriptive than "_
aknudsen
2014/10/26 11:22:40
The reason I renamed to jumpToMatch was to tie int
| |
| 974 { | 975 { |
| 975 index = mod(index, this._searchResults.length); | 976 if (!this._regexMatchRanges.length) { |
| 976 this._clearCurrentSearchResultHighlight(); | 977 return; |
| 977 this._currentSearchResultIndex = index; | 978 } |
| 978 this._searchableView.updateCurrentMatchIndex(this._currentSearchResultIn dex); | 979 |
| 979 var currentViewMessageIndex = this._searchResults[index]; | 980 index = mod(index, this._regexMatchRanges.length); |
| 980 this._viewport.scrollItemIntoView(currentViewMessageIndex); | 981 console.log("Jumping to search match #" + index); |
| 981 this._visibleViewMessages[currentViewMessageIndex].highlightSearchResult s(this._searchRegex); | 982 var matchRange; |
| 983 var message; | |
| 984 if (this._currentMatchRangeIndex >= 0) { | |
| 985 // Unmark current match range | |
| 986 matchRange = this._regexMatchRanges[this._currentMatchRangeIndex]; | |
| 987 console.log("Unmarking current search match, in message #" + matchRa nge.message); | |
| 988 message = this._visibleViewMessages[matchRange.message]; | |
| 989 message.highlightMatch(matchRange.start, matchRange.end); | |
| 990 } | |
| 991 | |
| 992 this._currentMatchRangeIndex = index; | |
| 993 this._searchableView.updateCurrentMatchIndex(index); | |
| 994 matchRange = this._regexMatchRanges[index]; | |
| 995 message = this._visibleViewMessages[matchRange.message]; | |
| 996 this._viewport.scrollItemIntoView(message); | |
| 997 console.log("Highlighting range " + matchRange.start + "," + matchRange. end + " in message #" + | |
| 998 matchRange.message + " as the current match"); | |
| 999 message.highlightMatch(matchRange.start, matchRange.end, true); | |
| 1000 }, | |
| 1001 | |
| 1002 _searchMessage: function(index) | |
| 1003 { | |
| 1004 // Reset regex wrt. global search | |
| 1005 this._searchRegex.lastIndex = 0; | |
| 1006 | |
| 1007 var numMatches = 0; | |
| 1008 var message = this._visibleViewMessages[index]; | |
| 1009 var text = message.getText(); | |
| 1010 var match = this._searchRegex.exec(text); | |
| 1011 while (match && match[0]) { | |
|
robwu
2014/10/25 23:12:59
The idiomatic way to use .exec in a JS loop is:
v
aknudsen
2014/10/26 11:22:40
Done.
| |
| 1012 var matchRange = { | |
| 1013 message: index, | |
|
robwu
2014/10/25 23:12:59
"message" is confusing. I thought that it was a st
aknudsen
2014/10/26 11:22:40
Done.
| |
| 1014 start: match.index, | |
| 1015 end: match.index + match[0].length-1, | |
|
robwu
2014/10/25 23:12:59
Spaces around the minus sign.
aknudsen
2014/10/26 11:22:40
Done.
| |
| 1016 }; | |
| 1017 this._regexMatchRanges.push(matchRange); | |
| 1018 message.highlightMatch(matchRange.start, matchRange.end); | |
| 1019 | |
| 1020 match = this._searchRegex.exec(text); | |
| 1021 ++numMatches; | |
| 1022 } | |
| 1023 | |
| 1024 return numMatches > 0; | |
|
robwu
2014/10/25 23:12:59
numMatches can be eliminated by using the fact tha
aknudsen
2014/10/26 11:22:40
Done.
| |
| 982 }, | 1025 }, |
| 983 | 1026 |
| 984 __proto__: WebInspector.VBox.prototype | 1027 __proto__: WebInspector.VBox.prototype |
| 985 } | 1028 } |
| 986 | 1029 |
| 987 /** | 1030 /** |
| 988 * @constructor | 1031 * @constructor |
| 989 * @extends {WebInspector.Object} | 1032 * @extends {WebInspector.Object} |
| 990 * @param {!WebInspector.ConsoleView} view | 1033 * @param {!WebInspector.ConsoleView} view |
| 991 */ | 1034 */ |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1125 * @param {!WebInspector.ConsoleMessage} message | 1168 * @param {!WebInspector.ConsoleMessage} message |
| 1126 * @param {!WebInspector.Linkifier} linkifier | 1169 * @param {!WebInspector.Linkifier} linkifier |
| 1127 * @param {number} nestingLevel | 1170 * @param {number} nestingLevel |
| 1128 */ | 1171 */ |
| 1129 WebInspector.ConsoleCommand = function(message, linkifier, nestingLevel) | 1172 WebInspector.ConsoleCommand = function(message, linkifier, nestingLevel) |
| 1130 { | 1173 { |
| 1131 WebInspector.ConsoleViewMessage.call(this, message, linkifier, nestingLevel) ; | 1174 WebInspector.ConsoleViewMessage.call(this, message, linkifier, nestingLevel) ; |
| 1132 } | 1175 } |
| 1133 | 1176 |
| 1134 WebInspector.ConsoleCommand.prototype = { | 1177 WebInspector.ConsoleCommand.prototype = { |
| 1135 clearHighlight: function() | 1178 clearHighlights: function() |
| 1136 { | 1179 { |
| 1137 var highlightedMessage = this._formattedCommand; | 1180 var highlightedMessage = this._formattedCommand; |
| 1138 delete this._formattedCommand; | 1181 delete this._formattedCommand; |
| 1139 this._formatCommand(); | 1182 this._formatCommand(); |
| 1140 this._element.replaceChild(this._formattedCommand, highlightedMessage); | 1183 this._element.replaceChild(this._formattedCommand, highlightedMessage); |
| 1141 }, | 1184 }, |
| 1142 | 1185 |
| 1143 /** | 1186 /** |
| 1144 * @param {!RegExp} regexObject | 1187 * @param {!RegExp} regexObject |
| 1145 */ | 1188 */ |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1180 } | 1223 } |
| 1181 return this._element; | 1224 return this._element; |
| 1182 }, | 1225 }, |
| 1183 | 1226 |
| 1184 _formatCommand: function() | 1227 _formatCommand: function() |
| 1185 { | 1228 { |
| 1186 this._formattedCommand = createElementWithClass("span", "console-message -text source-code"); | 1229 this._formattedCommand = createElementWithClass("span", "console-message -text source-code"); |
| 1187 this._formattedCommand.textContent = this.text; | 1230 this._formattedCommand.textContent = this.text; |
| 1188 }, | 1231 }, |
| 1189 | 1232 |
| 1233 /** | |
| 1234 * @return {!string} | |
| 1235 */ | |
| 1236 getText: function() | |
| 1237 { | |
| 1238 return this.text; | |
| 1239 }, | |
| 1240 | |
| 1241 highlightMatch: function(start, end, isCurrent) | |
| 1242 { | |
| 1243 console.log("Highlighting from position " + start + " to " + end); | |
| 1244 WebInspector.highlightSearchResults(this._formattedCommand, | |
| 1245 [new WebInspector.SourceRange(start, end - start + 1)], undefined, is Current); | |
| 1246 this._element.scrollIntoViewIfNeeded(); | |
| 1247 }, | |
| 1248 | |
| 1190 __proto__: WebInspector.ConsoleViewMessage.prototype | 1249 __proto__: WebInspector.ConsoleViewMessage.prototype |
| 1191 } | 1250 } |
| 1192 | 1251 |
| 1193 /** | 1252 /** |
| 1194 * @constructor | 1253 * @constructor |
| 1195 * @extends {WebInspector.ConsoleViewMessage} | 1254 * @extends {WebInspector.ConsoleViewMessage} |
| 1196 * @param {!WebInspector.ConsoleMessage} message | 1255 * @param {!WebInspector.ConsoleMessage} message |
| 1197 * @param {!WebInspector.Linkifier} linkifier | 1256 * @param {!WebInspector.Linkifier} linkifier |
| 1198 * @param {number} nestingLevel | 1257 * @param {number} nestingLevel |
| 1199 */ | 1258 */ |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1284 WebInspector.ConsoleView.ShowConsoleActionDelegate.prototype = { | 1343 WebInspector.ConsoleView.ShowConsoleActionDelegate.prototype = { |
| 1285 /** | 1344 /** |
| 1286 * @return {boolean} | 1345 * @return {boolean} |
| 1287 */ | 1346 */ |
| 1288 handleAction: function() | 1347 handleAction: function() |
| 1289 { | 1348 { |
| 1290 WebInspector.console.show(); | 1349 WebInspector.console.show(); |
| 1291 return true; | 1350 return true; |
| 1292 } | 1351 } |
| 1293 } | 1352 } |
| OLD | NEW |