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

Side by Side Diff: Source/devtools/front_end/network/NetworkPanel.js

Issue 654923002: Dev Tools: NetworkPanel: Allow negation of filtering (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 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 | « Source/devtools/front_end/components/FilterSuggestionBuilder.js ('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) 2008, 2009 Anthony Ricaud <rik@webkit.org> 3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org>
4 * Copyright (C) 2011 Google Inc. All rights reserved. 4 * Copyright (C) 2011 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 1463 matching lines...) Expand 10 before | Expand all | Expand 10 after
1474 return true; 1474 return true;
1475 }, 1475 },
1476 1476
1477 /** 1477 /**
1478 * @param {string} query 1478 * @param {string} query
1479 */ 1479 */
1480 _parseFilterQuery: function(query) 1480 _parseFilterQuery: function(query)
1481 { 1481 {
1482 var parsedQuery = this._suggestionBuilder.parseQuery(query); 1482 var parsedQuery = this._suggestionBuilder.parseQuery(query);
1483 this._filters = parsedQuery.text.map(this._createTextFilter); 1483 this._filters = parsedQuery.text.map(this._createTextFilter);
1484 for (var key in parsedQuery.filters) { 1484 var filters = parsedQuery.filters;
1485 var filterType = /** @type {!WebInspector.NetworkLogView.FilterType} */ (key); 1485 var n = parsedQuery.filters.length;
1486 this._filters.push(this._createFilter(filterType, parsedQuery.filter s[key])); 1486 for (var i = 0; i < n; ++i) {
1487 var filter = parsedQuery.filters[i];
1488 var filterType = /** @type {!WebInspector.NetworkLogView.FilterType} */ (filter.type);
1489 this._filters.push(this._createFilter(filterType, filter.data, filte r.negative));
1487 } 1490 }
1488 }, 1491 },
1489 1492
1490 /** 1493 /**
1491 * @param {string} text 1494 * @param {string} text
1492 * @return {!WebInspector.NetworkLogView.Filter} 1495 * @return {!WebInspector.NetworkLogView.Filter}
1493 */ 1496 */
1494 _createTextFilter: function(text) 1497 _createTextFilter: function(text)
1495 { 1498 {
1496 var regexp = new RegExp(text.escapeForRegExp(), "i"); 1499 var regexp = new RegExp(text.escapeForRegExp(), "i");
1497 return WebInspector.NetworkLogView._requestNameOrPathFilter.bind(null, r egexp); 1500 return WebInspector.NetworkLogView._requestNameOrPathFilter.bind(null, r egexp);
1498 }, 1501 },
1499 1502
1500 /** 1503 /**
1501 * @param {!WebInspector.NetworkLogView.FilterType} type 1504 * @param {!WebInspector.NetworkLogView.FilterType} type
1502 * @param {string} value 1505 * @param {string} value
1506 * @param {boolean} negative
1503 * @return {!WebInspector.NetworkLogView.Filter} 1507 * @return {!WebInspector.NetworkLogView.Filter}
1504 */ 1508 */
1505 _createFilter: function(type, value) { 1509 _createFilter: function(type, value, negative)
1510 {
1511 var filter = this._createSpecialFilter(type, value);
1512 if (!filter)
1513 return this._createTextFilter((negative ? "-" : "") + type + ":" + v alue);
1514 if (negative)
1515 return WebInspector.NetworkLogView._negativeFilter.bind(null, filter );
1516 return filter;
1517 },
1518
1519 /**
1520 * @param {!WebInspector.NetworkLogView.FilterType} type
1521 * @param {string} value
1522 * @return {?WebInspector.NetworkLogView.Filter}
1523 */
1524 _createSpecialFilter: function(type, value)
1525 {
1506 switch (type) { 1526 switch (type) {
1507 case WebInspector.NetworkLogView.FilterType.Domain: 1527 case WebInspector.NetworkLogView.FilterType.Domain:
1508 return WebInspector.NetworkLogView._requestDomainFilter.bind(null, v alue); 1528 return WebInspector.NetworkLogView._requestDomainFilter.bind(null, v alue);
1509 1529
1510 case WebInspector.NetworkLogView.FilterType.HasResponseHeader: 1530 case WebInspector.NetworkLogView.FilterType.HasResponseHeader:
1511 return WebInspector.NetworkLogView._requestResponseHeaderFilter.bind (null, value); 1531 return WebInspector.NetworkLogView._requestResponseHeaderFilter.bind (null, value);
1512 1532
1513 case WebInspector.NetworkLogView.FilterType.Is: 1533 case WebInspector.NetworkLogView.FilterType.Is:
1514 if (value.toLowerCase() === WebInspector.NetworkLogView.IsFilterType .Running) 1534 if (value.toLowerCase() === WebInspector.NetworkLogView.IsFilterType .Running)
1515 return WebInspector.NetworkLogView._runningRequestFilter; 1535 return WebInspector.NetworkLogView._runningRequestFilter;
(...skipping 13 matching lines...) Expand all
1529 1549
1530 case WebInspector.NetworkLogView.FilterType.SetCookieName: 1550 case WebInspector.NetworkLogView.FilterType.SetCookieName:
1531 return WebInspector.NetworkLogView._requestSetCookieNameFilter.bind( null, value); 1551 return WebInspector.NetworkLogView._requestSetCookieNameFilter.bind( null, value);
1532 1552
1533 case WebInspector.NetworkLogView.FilterType.SetCookieValue: 1553 case WebInspector.NetworkLogView.FilterType.SetCookieValue:
1534 return WebInspector.NetworkLogView._requestSetCookieValueFilter.bind (null, value); 1554 return WebInspector.NetworkLogView._requestSetCookieValueFilter.bind (null, value);
1535 1555
1536 case WebInspector.NetworkLogView.FilterType.StatusCode: 1556 case WebInspector.NetworkLogView.FilterType.StatusCode:
1537 return WebInspector.NetworkLogView._statusCodeFilter.bind(null, valu e); 1557 return WebInspector.NetworkLogView._statusCodeFilter.bind(null, valu e);
1538 } 1558 }
1539 return this._createTextFilter(type + ":" + value); 1559 return null;
1540 }, 1560 },
1541 1561
1542 _filterRequests: function() 1562 _filterRequests: function()
1543 { 1563 {
1544 this._removeAllHighlights(); 1564 this._removeAllHighlights();
1545 this._invalidateAllItems(); 1565 this._invalidateAllItems();
1546 this.refresh(); 1566 this.refresh();
1547 }, 1567 },
1548 1568
1549 jumpToPreviousSearchResult: function() 1569 jumpToPreviousSearchResult: function()
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1698 return command.join(" "); 1718 return command.join(" ");
1699 }, 1719 },
1700 1720
1701 __proto__: WebInspector.VBox.prototype 1721 __proto__: WebInspector.VBox.prototype
1702 } 1722 }
1703 1723
1704 /** @typedef {function(!WebInspector.NetworkRequest): boolean} */ 1724 /** @typedef {function(!WebInspector.NetworkRequest): boolean} */
1705 WebInspector.NetworkLogView.Filter; 1725 WebInspector.NetworkLogView.Filter;
1706 1726
1707 /** 1727 /**
1728 * @param {!WebInspector.NetworkLogView.Filter} filter
1729 * @param {!WebInspector.NetworkRequest} request
1730 * @return {boolean}
1731 */
1732 WebInspector.NetworkLogView._negativeFilter = function(filter, request)
1733 {
1734 return !filter(request);
1735 }
1736
1737 /**
1708 * @param {!RegExp} regex 1738 * @param {!RegExp} regex
1709 * @param {!WebInspector.NetworkRequest} request 1739 * @param {!WebInspector.NetworkRequest} request
1710 * @return {boolean} 1740 * @return {boolean}
1711 */ 1741 */
1712 WebInspector.NetworkLogView._requestNameOrPathFilter = function(regex, request) 1742 WebInspector.NetworkLogView._requestNameOrPathFilter = function(regex, request)
1713 { 1743 {
1714 return regex.test(request.name()) || regex.test(request.path()); 1744 return regex.test(request.name()) || regex.test(request.path());
1715 } 1745 }
1716 1746
1717 /** 1747 /**
(...skipping 1439 matching lines...) Expand 10 before | Expand all | Expand 10 after
3157 3187
3158 WebInspector.NetworkPanelFactory.prototype = { 3188 WebInspector.NetworkPanelFactory.prototype = {
3159 /** 3189 /**
3160 * @return {!WebInspector.Panel} 3190 * @return {!WebInspector.Panel}
3161 */ 3191 */
3162 createPanel: function() 3192 createPanel: function()
3163 { 3193 {
3164 return WebInspector.NetworkPanel._instance(); 3194 return WebInspector.NetworkPanel._instance();
3165 } 3195 }
3166 } 3196 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/components/FilterSuggestionBuilder.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698