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

Unified Diff: third_party/WebKit/Source/devtools/front_end/console/ConsoleView.js

Issue 2939473002: DevTools: show all descendants if a console.group message title matches the filter
Patch Set: aaa Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
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}
*/

Powered by Google App Engine
This is Rietveld 408576698