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

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

Issue 2930403002: DevTools: hide empty console groups
Patch Set: rebase 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 var ignoreTextFilter = this._currentGroup.showAllChildren(); 468 var lastGroup = this._currentGroup;
469 if (!this._filter.shouldBeVisible(viewMessage, ignoreTextFilter)) { 469 this._currentGroup = this._nextGroup(viewMessage);
470 if (viewMessage.consoleMessage().type === ConsoleModel.ConsoleMessage.Messag eType.EndGroup)
471 return;
472 if (!this._filter.shouldBeVisible(viewMessage, this._currentGroup.showAllChi ldren())) {
470 this._hiddenByFilterCount++; 473 this._hiddenByFilterCount++;
471 return; 474 return;
472 } 475 }
473 476
474 if (this._tryToCollapseMessages(viewMessage, this._visibleViewMessages.peekL ast())) 477 // Add ancestor titles before checking for repeats, since it affects the las t visible message.
478 this._appendParentGroupTitleMessages(lastGroup);
479
480 var lastMessage = this._visibleViewMessages.peekLast();
481 if (this._tryToCollapseMessages(viewMessage, lastMessage))
475 return; 482 return;
476 483
484 if (!this._currentGroup.messagesHidden()) {
485 var originatingMessage = viewMessage.consoleMessage().originatingMessage() ;
486 if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage)
487 lastMessage.toMessageElement().classList.add('console-adjacent-user-comm and-result');
488 this._visibleViewMessages.push(viewMessage);
489 this._searchMessage(this._visibleViewMessages.length - 1);
490
491 if (viewMessage.consoleMessage().isGroupStartMessage())
492 this._currentGroup.setTitleVisible();
493 }
494 this._messageAppendedForTests();
495 }
496
497 /**
498 * @param {!Console.ConsoleViewMessage} viewMessage
499 * @return {!Console.ConsoleGroup}
500 */
501 _nextGroup(viewMessage) {
477 var lastMessage = this._visibleViewMessages.peekLast(); 502 var lastMessage = this._visibleViewMessages.peekLast();
478 if (viewMessage.consoleMessage().type === ConsoleModel.ConsoleMessage.Messag eType.EndGroup) { 503 if (viewMessage.consoleMessage().type === ConsoleModel.ConsoleMessage.Messag eType.EndGroup) {
479 if (lastMessage && !this._currentGroup.messagesHidden()) 504 if (lastMessage && !this._currentGroup.messagesHidden())
480 lastMessage.incrementCloseGroupDecorationCount(); 505 lastMessage.incrementCloseGroupDecorationCount();
481 this._currentGroup = this._currentGroup.parentGroup() || this._currentGrou p; 506 return this._currentGroup.parentGroup() || this._currentGroup;
482 return;
483 } 507 }
484 if (!this._currentGroup.messagesHidden()) { 508 if (viewMessage.consoleMessage().isGroupStartMessage()) {
485 var originatingMessage = viewMessage.consoleMessage().originatingMessage() ; 509 var showAllChildren = this._currentGroup.showAllChildren() || this._filter .matchesTextOrRegex(viewMessage);
486 if (lastMessage && originatingMessage && lastMessage.consoleMessage() === originatingMessage) 510 return new Console.ConsoleGroup(this._currentGroup, viewMessage, showAllCh ildren);
487 lastMessage.toMessageElement().classList.add('console-adjacent-user-comm and-result');
488
489 this._visibleViewMessages.push(viewMessage);
490 this._searchMessage(this._visibleViewMessages.length - 1);
491 } 511 }
492 512 return this._currentGroup;
493 if (viewMessage.consoleMessage().isGroupStartMessage()) {
494 var showAllChildren = ignoreTextFilter || this._filter.matchesTextOrRegex( viewMessage);
495 this._currentGroup = new Console.ConsoleGroup(this._currentGroup, viewMess age, showAllChildren);
496 }
497
498 this._messageAppendedForTests();
499 } 513 }
500 514
501 _messageAppendedForTests() { 515 _messageAppendedForTests() {
502 // This method is sniffed in tests. 516 // This method is sniffed in tests.
503 } 517 }
504 518
505 /** 519 /**
520 * @param {!Console.ConsoleGroup} parent
521 */
522 _appendParentGroupTitleMessages(parent) {
523 var ancestors = [];
524 var ancestor = parent;
525 while (ancestor && ancestor.titleMessage()) {
526 // Do not include items under a collapsed group.
527 if (ancestor.messagesHidden())
528 ancestors = [];
529 if (ancestor.isTitleVisible())
530 break;
531 ancestors.push(ancestor);
532 ancestor = ancestor.parentGroup();
533 }
534
535 // Append ancestors from highest to lowest.
536 for (var i = ancestors.length - 1; i >= 0; i--) {
537 ancestor = ancestors[i];
538 ancestor.setTitleVisible();
539 this._visibleViewMessages.push(ancestor.titleMessage());
540 this._searchMessage(this._visibleViewMessages.length - 1);
541 this._hiddenByFilterCount--;
542 }
543 }
544
545 /**
506 * @param {!ConsoleModel.ConsoleMessage} message 546 * @param {!ConsoleModel.ConsoleMessage} message
507 * @return {!Console.ConsoleViewMessage} 547 * @return {!Console.ConsoleViewMessage}
508 */ 548 */
509 _createViewMessage(message) { 549 _createViewMessage(message) {
510 var nestingLevel = this._currentGroup.nestingLevel(); 550 var nestingLevel = this._currentGroup.nestingLevel();
511 switch (message.type) { 551 switch (message.type) {
512 case ConsoleModel.ConsoleMessage.MessageType.Command: 552 case ConsoleModel.ConsoleMessage.MessageType.Command:
513 return new Console.ConsoleCommand(message, this._linkifier, this._badgeP ool, nestingLevel); 553 return new Console.ConsoleCommand(message, this._linkifier, this._badgeP ool, nestingLevel);
514 case ConsoleModel.ConsoleMessage.MessageType.Result: 554 case ConsoleModel.ConsoleMessage.MessageType.Result:
515 return new Console.ConsoleCommandResult(message, this._linkifier, this._ badgePool, nestingLevel); 555 return new Console.ConsoleCommandResult(message, this._linkifier, this._ badgePool, nestingLevel);
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 if (message.runtimeModel() !== executionContext.runtimeModel) 1190 if (message.runtimeModel() !== executionContext.runtimeModel)
1151 return false; 1191 return false;
1152 if (message.executionContextId && message.executionContextId !== execution Context.id) 1192 if (message.executionContextId && message.executionContextId !== execution Context.id)
1153 return false; 1193 return false;
1154 } 1194 }
1155 1195
1156 if (this._hideNetworkMessagesSetting.get() && 1196 if (this._hideNetworkMessagesSetting.get() &&
1157 viewMessage.consoleMessage().source === ConsoleModel.ConsoleMessage.Mess ageSource.Network) 1197 viewMessage.consoleMessage().source === ConsoleModel.ConsoleMessage.Mess ageSource.Network)
1158 return false; 1198 return false;
1159 1199
1160 if (viewMessage.consoleMessage().isGroupMessage())
1161 return true;
1162
1163 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || 1200 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result ||
1164 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) 1201 message.type === ConsoleModel.ConsoleMessage.MessageType.Command)
1165 return true; 1202 return true;
1166 1203
1167 if (message.url && this._messageURLFiltersSetting.get()[message.url]) 1204 if (message.url && this._messageURLFiltersSetting.get()[message.url])
1168 return false; 1205 return false;
1169 1206
1170 var levels = this._messageLevelFiltersSetting.get(); 1207 var levels = this._messageLevelFiltersSetting.get();
1171 if (!levels[message.level]) 1208 if (!levels[message.level])
1172 return false; 1209 return false;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1291 * @param {?Console.ConsoleGroup} parentGroup 1328 * @param {?Console.ConsoleGroup} parentGroup
1292 * @param {?Console.ConsoleViewMessage} groupMessage 1329 * @param {?Console.ConsoleViewMessage} groupMessage
1293 * @param {boolean} showAllChildren 1330 * @param {boolean} showAllChildren
1294 */ 1331 */
1295 constructor(parentGroup, groupMessage, showAllChildren) { 1332 constructor(parentGroup, groupMessage, showAllChildren) {
1296 this._parentGroup = parentGroup; 1333 this._parentGroup = parentGroup;
1297 this._nestingLevel = parentGroup ? parentGroup.nestingLevel() + 1 : 0; 1334 this._nestingLevel = parentGroup ? parentGroup.nestingLevel() + 1 : 0;
1298 this._messagesHidden = 1335 this._messagesHidden =
1299 groupMessage && groupMessage.collapsed() || this._parentGroup && this._p arentGroup.messagesHidden(); 1336 groupMessage && groupMessage.collapsed() || this._parentGroup && this._p arentGroup.messagesHidden();
1300 this._showAllChildren = showAllChildren; 1337 this._showAllChildren = showAllChildren;
1338 this._titleMessage = groupMessage;
1339 this._isTitleVisible = !groupMessage;
1301 } 1340 }
1302 1341
1303 /** 1342 /**
1304 * @return {!Console.ConsoleGroup} 1343 * @return {!Console.ConsoleGroup}
1305 */ 1344 */
1306 static createTopGroup() { 1345 static createTopGroup() {
1307 return new Console.ConsoleGroup(null, null, false); 1346 return new Console.ConsoleGroup(null, null, false);
1308 } 1347 }
1309 1348
1310 /** 1349 /**
1350 * @return {?Console.ConsoleViewMessage}
1351 */
1352 titleMessage() {
1353 return this._titleMessage;
1354 }
1355
1356 /**
1311 * @return {boolean} 1357 * @return {boolean}
1312 */ 1358 */
1359 isTitleVisible() {
1360 return this._isTitleVisible;
1361 }
1362
1363 setTitleVisible() {
1364 this._isTitleVisible = true;
1365 }
1366
1367 /**
1368 * @return {boolean}
1369 */
1313 messagesHidden() { 1370 messagesHidden() {
1314 return this._messagesHidden; 1371 return this._messagesHidden;
1315 } 1372 }
1316 1373
1317 /** 1374 /**
1318 * @return {boolean} 1375 * @return {boolean}
1319 */ 1376 */
1320 showAllChildren() { 1377 showAllChildren() {
1321 return this._showAllChildren; 1378 return this._showAllChildren;
1322 } 1379 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 return true; 1417 return true;
1361 } 1418 }
1362 return false; 1419 return false;
1363 } 1420 }
1364 }; 1421 };
1365 1422
1366 /** 1423 /**
1367 * @typedef {{messageIndex: number, matchIndex: number}} 1424 * @typedef {{messageIndex: number, matchIndex: number}}
1368 */ 1425 */
1369 Console.ConsoleView.RegexMatchRange; 1426 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