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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/devtools/front_end/components/FilterSuggestionBuilder.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/network/NetworkPanel.js
diff --git a/Source/devtools/front_end/network/NetworkPanel.js b/Source/devtools/front_end/network/NetworkPanel.js
index 0f1b7cdf05ef739ea9d3aeb822133f5f57c60626..c67b5851860f654ae24091751810889405898cb6 100644
--- a/Source/devtools/front_end/network/NetworkPanel.js
+++ b/Source/devtools/front_end/network/NetworkPanel.js
@@ -1481,9 +1481,12 @@ WebInspector.NetworkLogView.prototype = {
{
var parsedQuery = this._suggestionBuilder.parseQuery(query);
this._filters = parsedQuery.text.map(this._createTextFilter);
- for (var key in parsedQuery.filters) {
- var filterType = /** @type {!WebInspector.NetworkLogView.FilterType} */ (key);
- this._filters.push(this._createFilter(filterType, parsedQuery.filters[key]));
+ var filters = parsedQuery.filters;
+ var n = parsedQuery.filters.length;
+ for (var i = 0; i < n; ++i) {
+ var filter = parsedQuery.filters[i];
+ var filterType = /** @type {!WebInspector.NetworkLogView.FilterType} */ (filter.type);
+ this._filters.push(this._createFilter(filterType, filter.data, filter.negative));
}
},
@@ -1500,9 +1503,26 @@ WebInspector.NetworkLogView.prototype = {
/**
* @param {!WebInspector.NetworkLogView.FilterType} type
* @param {string} value
+ * @param {boolean} negative
* @return {!WebInspector.NetworkLogView.Filter}
*/
- _createFilter: function(type, value) {
+ _createFilter: function(type, value, negative)
+ {
+ var filter = this._createSpecialFilter(type, value);
+ if (!filter)
+ return this._createTextFilter((negative ? "-" : "") + type + ":" + value);
+ if (negative)
+ return WebInspector.NetworkLogView._negativeFilter.bind(null, filter);
+ return filter;
+ },
+
+ /**
+ * @param {!WebInspector.NetworkLogView.FilterType} type
+ * @param {string} value
+ * @return {?WebInspector.NetworkLogView.Filter}
+ */
+ _createSpecialFilter: function(type, value)
+ {
switch (type) {
case WebInspector.NetworkLogView.FilterType.Domain:
return WebInspector.NetworkLogView._requestDomainFilter.bind(null, value);
@@ -1536,7 +1556,7 @@ WebInspector.NetworkLogView.prototype = {
case WebInspector.NetworkLogView.FilterType.StatusCode:
return WebInspector.NetworkLogView._statusCodeFilter.bind(null, value);
}
- return this._createTextFilter(type + ":" + value);
+ return null;
},
_filterRequests: function()
@@ -1705,6 +1725,16 @@ WebInspector.NetworkLogView.prototype = {
WebInspector.NetworkLogView.Filter;
/**
+ * @param {!WebInspector.NetworkLogView.Filter} filter
+ * @param {!WebInspector.NetworkRequest} request
+ * @return {boolean}
+ */
+WebInspector.NetworkLogView._negativeFilter = function(filter, request)
+{
+ return !filter(request);
+}
+
+/**
* @param {!RegExp} regex
* @param {!WebInspector.NetworkRequest} request
* @return {boolean}
« 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