Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js b/third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js |
| index 078c2445920d1e98f0ecfc3739958911b3c94945..85d2238e521539cb4b38e255eaf90560ba7b586a 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js |
| @@ -465,7 +465,8 @@ Console.ConsoleView = class extends UI.VBox { |
| * @param {!Console.ConsoleViewMessage} viewMessage |
| */ |
| _appendMessageToEnd(viewMessage) { |
| - if (!this._filter.shouldBeVisible(viewMessage)) { |
| + var ignoreTextFilter = this._currentGroup.showAllChildren(); |
| + if (!this._filter.shouldBeVisible(viewMessage, ignoreTextFilter)) { |
| this._hiddenByFilterCount++; |
| return; |
| } |
| @@ -489,8 +490,11 @@ Console.ConsoleView = class extends UI.VBox { |
| this._searchMessage(this._visibleViewMessages.length - 1); |
| } |
| - if (viewMessage.consoleMessage().isGroupStartMessage()) |
| - this._currentGroup = new Console.ConsoleGroup(this._currentGroup, viewMessage); |
| + if (viewMessage.consoleMessage().isGroupStartMessage()) { |
| + var showAllChildren = |
| + ignoreTextFilter || (this._filter.hasFilterText() && this._filter.matchesTextOrRegex(viewMessage)); |
|
chenwilliam
2017/07/20 00:22:33
I don't think you need hasFilterText here because
luoe
2017/07/20 20:59:03
Done.
|
| + this._currentGroup = new Console.ConsoleGroup(this._currentGroup, viewMessage, showAllChildren); |
| + } |
| this._messageAppendedForTests(); |
| } |
| @@ -1136,9 +1140,10 @@ Console.ConsoleViewFilter = class { |
| /** |
| * @param {!Console.ConsoleViewMessage} viewMessage |
| + * @param {boolean} ignoreTextFilter |
| * @return {boolean} |
| */ |
| - shouldBeVisible(viewMessage) { |
| + shouldBeVisible(viewMessage, ignoreTextFilter) { |
| var message = viewMessage.consoleMessage(); |
| var executionContext = UI.context.flavor(SDK.ExecutionContext); |
| @@ -1167,13 +1172,8 @@ Console.ConsoleViewFilter = class { |
| if (!levels[message.level]) |
| return false; |
| - if (this._filterRegex) { |
| - if (!viewMessage.matchesFilterRegex(this._filterRegex)) |
| - return false; |
| - } else if (this._filterText) { |
| - if (!viewMessage.matchesFilterText(this._filterText)) |
| - return false; |
| - } |
| + if (!ignoreTextFilter && this.hasFilterText() && !this.matchesTextOrRegex(viewMessage)) |
| + return false; |
| if (this._filterByConsoleAPISetting.get() && |
| message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) |
| @@ -1182,6 +1182,25 @@ Console.ConsoleViewFilter = class { |
| return true; |
| } |
| + /** |
| + * @param {!Console.ConsoleViewMessage} viewMessage |
| + * @return {boolean} |
| + */ |
| + matchesTextOrRegex(viewMessage) { |
| + if (this._filterRegex) |
| + return viewMessage.matchesFilterRegex(this._filterRegex); |
| + if (this._filterText) |
| + return viewMessage.matchesFilterText(this._filterText); |
| + return false; |
| + } |
| + |
| + /** |
| + * @return {boolean} |
| + */ |
| + hasFilterText() { |
|
chenwilliam
2017/07/20 00:22:33
seems confusing since filterText has two meanings
luoe
2017/07/20 20:59:03
Acknowledged. Actually, per your previous comment
|
| + return !!(this._filterRegex || this._filterText); |
| + } |
| + |
| reset() { |
| this._messageURLFiltersSetting.set({}); |
| this._messageLevelFiltersSetting.set(Console.ConsoleViewFilter.defaultLevelsFilterValue()); |
| @@ -1279,19 +1298,21 @@ Console.ConsoleGroup = class { |
| /** |
| * @param {?Console.ConsoleGroup} parentGroup |
| * @param {?Console.ConsoleViewMessage} groupMessage |
| + * @param {boolean} showAllChildren |
| */ |
| - constructor(parentGroup, groupMessage) { |
| + constructor(parentGroup, groupMessage, showAllChildren) { |
| this._parentGroup = parentGroup; |
| this._nestingLevel = parentGroup ? parentGroup.nestingLevel() + 1 : 0; |
| this._messagesHidden = |
| groupMessage && groupMessage.collapsed() || this._parentGroup && this._parentGroup.messagesHidden(); |
| + this._showAllChildren = showAllChildren; |
| } |
| /** |
| * @return {!Console.ConsoleGroup} |
| */ |
| static createTopGroup() { |
| - return new Console.ConsoleGroup(null, null); |
| + return new Console.ConsoleGroup(null, null, false); |
| } |
| /** |
| @@ -1301,6 +1322,13 @@ Console.ConsoleGroup = class { |
| return this._messagesHidden; |
| } |
| + /** |
| + * @return {boolean} |
| + */ |
| + showAllChildren() { |
| + return this._showAllChildren; |
| + } |
| + |
| /** |
| * @return {number} |
| */ |