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

Side by Side 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: ac 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/console/console-filter-test-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 /** 458 /**
459 * @param {!Console.ConsoleViewMessage} viewMessage 459 * @param {!Console.ConsoleViewMessage} viewMessage
460 */ 460 */
461 _consoleMessageAddedForTest(viewMessage) { 461 _consoleMessageAddedForTest(viewMessage) {
462 } 462 }
463 463
464 /** 464 /**
465 * @param {!Console.ConsoleViewMessage} viewMessage 465 * @param {!Console.ConsoleViewMessage} viewMessage
466 */ 466 */
467 _appendMessageToEnd(viewMessage) { 467 _appendMessageToEnd(viewMessage) {
468 if (!this._filter.shouldBeVisible(viewMessage)) { 468 var ignoreTextFilter = this._currentGroup.showAllChildren();
469 if (!this._filter.shouldBeVisible(viewMessage, ignoreTextFilter)) {
469 this._hiddenByFilterCount++; 470 this._hiddenByFilterCount++;
470 return; 471 return;
471 } 472 }
472 473
473 if (this._tryToCollapseMessages(viewMessage, this._visibleViewMessages.peekL ast())) 474 if (this._tryToCollapseMessages(viewMessage, this._visibleViewMessages.peekL ast()))
474 return; 475 return;
475 476
476 var lastMessage = this._visibleViewMessages.peekLast(); 477 var lastMessage = this._visibleViewMessages.peekLast();
477 if (viewMessage.consoleMessage().type === ConsoleModel.ConsoleMessage.Messag eType.EndGroup) { 478 if (viewMessage.consoleMessage().type === ConsoleModel.ConsoleMessage.Messag eType.EndGroup) {
478 if (lastMessage && !this._currentGroup.messagesHidden()) 479 if (lastMessage && !this._currentGroup.messagesHidden())
479 lastMessage.incrementCloseGroupDecorationCount(); 480 lastMessage.incrementCloseGroupDecorationCount();
480 this._currentGroup = this._currentGroup.parentGroup() || this._currentGrou p; 481 this._currentGroup = this._currentGroup.parentGroup() || this._currentGrou p;
481 return; 482 return;
482 } 483 }
483 if (!this._currentGroup.messagesHidden()) { 484 if (!this._currentGroup.messagesHidden()) {
484 var originatingMessage = viewMessage.consoleMessage().originatingMessage() ; 485 var originatingMessage = viewMessage.consoleMessage().originatingMessage() ;
485 if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage) 486 if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage)
486 lastMessage.toMessageElement().classList.add('console-adjacent-user-comm and-result'); 487 lastMessage.toMessageElement().classList.add('console-adjacent-user-comm and-result');
487 488
488 this._visibleViewMessages.push(viewMessage); 489 this._visibleViewMessages.push(viewMessage);
489 this._searchMessage(this._visibleViewMessages.length - 1); 490 this._searchMessage(this._visibleViewMessages.length - 1);
490 } 491 }
491 492
492 if (viewMessage.consoleMessage().isGroupStartMessage()) 493 if (viewMessage.consoleMessage().isGroupStartMessage()) {
493 this._currentGroup = new Console.ConsoleGroup(this._currentGroup, viewMess age); 494 var showAllChildren = ignoreTextFilter || this._filter.matchesTextOrRegex( viewMessage);
495 this._currentGroup = new Console.ConsoleGroup(this._currentGroup, viewMess age, showAllChildren);
496 }
494 497
495 this._messageAppendedForTests(); 498 this._messageAppendedForTests();
496 } 499 }
497 500
498 _messageAppendedForTests() { 501 _messageAppendedForTests() {
499 // This method is sniffed in tests. 502 // This method is sniffed in tests.
500 } 503 }
501 504
502 /** 505 /**
503 * @param {!ConsoleModel.ConsoleMessage} message 506 * @param {!ConsoleModel.ConsoleMessage} message
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
1129 1132
1130 /** 1133 /**
1131 * @returns {!Object} 1134 * @returns {!Object}
1132 */ 1135 */
1133 messageURLFilters() { 1136 messageURLFilters() {
1134 return this._messageURLFiltersSetting.get(); 1137 return this._messageURLFiltersSetting.get();
1135 } 1138 }
1136 1139
1137 /** 1140 /**
1138 * @param {!Console.ConsoleViewMessage} viewMessage 1141 * @param {!Console.ConsoleViewMessage} viewMessage
1142 * @param {boolean} ignoreTextFilter
1139 * @return {boolean} 1143 * @return {boolean}
1140 */ 1144 */
1141 shouldBeVisible(viewMessage) { 1145 shouldBeVisible(viewMessage, ignoreTextFilter) {
1142 var message = viewMessage.consoleMessage(); 1146 var message = viewMessage.consoleMessage();
1143 var executionContext = UI.context.flavor(SDK.ExecutionContext); 1147 var executionContext = UI.context.flavor(SDK.ExecutionContext);
1144 1148
1145 if (this._filterByExecutionContextSetting.get() && executionContext) { 1149 if (this._filterByExecutionContextSetting.get() && executionContext) {
1146 if (message.runtimeModel() !== executionContext.runtimeModel) 1150 if (message.runtimeModel() !== executionContext.runtimeModel)
1147 return false; 1151 return false;
1148 if (message.executionContextId && message.executionContextId !== execution Context.id) 1152 if (message.executionContextId && message.executionContextId !== execution Context.id)
1149 return false; 1153 return false;
1150 } 1154 }
1151 1155
1152 if (this._hideNetworkMessagesSetting.get() && 1156 if (this._hideNetworkMessagesSetting.get() &&
1153 viewMessage.consoleMessage().source === ConsoleModel.ConsoleMessage.Mess ageSource.Network) 1157 viewMessage.consoleMessage().source === ConsoleModel.ConsoleMessage.Mess ageSource.Network)
1154 return false; 1158 return false;
1155 1159
1156 if (viewMessage.consoleMessage().isGroupMessage()) 1160 if (viewMessage.consoleMessage().isGroupMessage())
1157 return true; 1161 return true;
1158 1162
1159 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || 1163 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result ||
1160 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) 1164 message.type === ConsoleModel.ConsoleMessage.MessageType.Command)
1161 return true; 1165 return true;
1162 1166
1163 if (message.url && this._messageURLFiltersSetting.get()[message.url]) 1167 if (message.url && this._messageURLFiltersSetting.get()[message.url])
1164 return false; 1168 return false;
1165 1169
1166 var levels = this._messageLevelFiltersSetting.get(); 1170 var levels = this._messageLevelFiltersSetting.get();
1167 if (!levels[message.level]) 1171 if (!levels[message.level])
1168 return false; 1172 return false;
1169 1173
1170 if (this._filterRegex) { 1174 if (!ignoreTextFilter && (this._filterRegex || this._filterText) && !this.ma tchesTextOrRegex(viewMessage))
1171 if (!viewMessage.matchesFilterRegex(this._filterRegex)) 1175 return false;
1172 return false;
1173 } else if (this._filterText) {
1174 if (!viewMessage.matchesFilterText(this._filterText))
1175 return false;
1176 }
1177 1176
1178 if (this._filterByConsoleAPISetting.get() && 1177 if (this._filterByConsoleAPISetting.get() &&
1179 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) 1178 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI)
1180 return false; 1179 return false;
1181 1180
1182 return true; 1181 return true;
1183 } 1182 }
1184 1183
1184 /**
1185 * @param {!Console.ConsoleViewMessage} viewMessage
1186 * @return {boolean}
1187 */
1188 matchesTextOrRegex(viewMessage) {
1189 if (this._filterRegex)
1190 return viewMessage.matchesFilterRegex(this._filterRegex);
1191 if (this._filterText)
1192 return viewMessage.matchesFilterText(this._filterText);
1193 return false;
1194 }
1195
1185 reset() { 1196 reset() {
1186 this._messageURLFiltersSetting.set({}); 1197 this._messageURLFiltersSetting.set({});
1187 this._messageLevelFiltersSetting.set(Console.ConsoleViewFilter.defaultLevels FilterValue()); 1198 this._messageLevelFiltersSetting.set(Console.ConsoleViewFilter.defaultLevels FilterValue());
1188 this._filterByExecutionContextSetting.set(false); 1199 this._filterByExecutionContextSetting.set(false);
1189 this._filterByConsoleAPISetting.set(false); 1200 this._filterByConsoleAPISetting.set(false);
1190 this._hideNetworkMessagesSetting.set(false); 1201 this._hideNetworkMessagesSetting.set(false);
1191 this._textFilterUI.setValue(''); 1202 this._textFilterUI.setValue('');
1192 this._textFilterChanged(); 1203 this._textFilterChanged();
1193 } 1204 }
1194 }; 1205 };
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 } 1283 }
1273 } 1284 }
1274 return element; 1285 return element;
1275 } 1286 }
1276 }; 1287 };
1277 1288
1278 Console.ConsoleGroup = class { 1289 Console.ConsoleGroup = class {
1279 /** 1290 /**
1280 * @param {?Console.ConsoleGroup} parentGroup 1291 * @param {?Console.ConsoleGroup} parentGroup
1281 * @param {?Console.ConsoleViewMessage} groupMessage 1292 * @param {?Console.ConsoleViewMessage} groupMessage
1293 * @param {boolean} showAllChildren
1282 */ 1294 */
1283 constructor(parentGroup, groupMessage) { 1295 constructor(parentGroup, groupMessage, showAllChildren) {
1284 this._parentGroup = parentGroup; 1296 this._parentGroup = parentGroup;
1285 this._nestingLevel = parentGroup ? parentGroup.nestingLevel() + 1 : 0; 1297 this._nestingLevel = parentGroup ? parentGroup.nestingLevel() + 1 : 0;
1286 this._messagesHidden = 1298 this._messagesHidden =
1287 groupMessage && groupMessage.collapsed() || this._parentGroup && this._p arentGroup.messagesHidden(); 1299 groupMessage && groupMessage.collapsed() || this._parentGroup && this._p arentGroup.messagesHidden();
1300 this._showAllChildren = showAllChildren;
1288 } 1301 }
1289 1302
1290 /** 1303 /**
1291 * @return {!Console.ConsoleGroup} 1304 * @return {!Console.ConsoleGroup}
1292 */ 1305 */
1293 static createTopGroup() { 1306 static createTopGroup() {
1294 return new Console.ConsoleGroup(null, null); 1307 return new Console.ConsoleGroup(null, null, false);
1295 } 1308 }
1296 1309
1297 /** 1310 /**
1298 * @return {boolean} 1311 * @return {boolean}
1299 */ 1312 */
1300 messagesHidden() { 1313 messagesHidden() {
1301 return this._messagesHidden; 1314 return this._messagesHidden;
1302 } 1315 }
1303 1316
1304 /** 1317 /**
1318 * @return {boolean}
1319 */
1320 showAllChildren() {
1321 return this._showAllChildren;
1322 }
1323
1324 /**
1305 * @return {number} 1325 * @return {number}
1306 */ 1326 */
1307 nestingLevel() { 1327 nestingLevel() {
1308 return this._nestingLevel; 1328 return this._nestingLevel;
1309 } 1329 }
1310 1330
1311 /** 1331 /**
1312 * @return {?Console.ConsoleGroup} 1332 * @return {?Console.ConsoleGroup}
1313 */ 1333 */
1314 parentGroup() { 1334 parentGroup() {
(...skipping 25 matching lines...) Expand all
1340 return true; 1360 return true;
1341 } 1361 }
1342 return false; 1362 return false;
1343 } 1363 }
1344 }; 1364 };
1345 1365
1346 /** 1366 /**
1347 * @typedef {{messageIndex: number, matchIndex: number}} 1367 * @typedef {{messageIndex: number, matchIndex: number}}
1348 */ 1368 */
1349 Console.ConsoleView.RegexMatchRange; 1369 Console.ConsoleView.RegexMatchRange;
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/console/console-filter-test-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698