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

Unified Diff: third_party/WebKit/Source/devtools/front_end/network/FilterSuggestionBuilder.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month 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/network/FilterSuggestionBuilder.js
diff --git a/third_party/WebKit/Source/devtools/front_end/network/FilterSuggestionBuilder.js b/third_party/WebKit/Source/devtools/front_end/network/FilterSuggestionBuilder.js
index 2f85e3680fb4d9085c0376ba29a7457f03dee7b7..cd347abd401e836aa9d02d9a1378dc945ac855a5 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/FilterSuggestionBuilder.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/FilterSuggestionBuilder.js
@@ -27,175 +27,169 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
/**
- * @constructor
* @implements {WebInspector.TextFilterUI.SuggestionBuilder}
- * @param {!Array.<string>} keys
+ * @unrestricted
*/
-WebInspector.FilterSuggestionBuilder = function(keys)
-{
+WebInspector.FilterSuggestionBuilder = class {
+ /**
+ * @param {!Array.<string>} keys
+ */
+ constructor(keys) {
this._keys = keys;
this._valueSets = {};
this._valueLists = {};
+ }
+
+ /**
+ * @override
+ * @param {!HTMLInputElement} input
+ * @return {?Array.<string>}
+ */
+ buildSuggestions(input) {
+ var text = input.value;
+ var end = input.selectionEnd;
+ if (end !== text.length)
+ return null;
+
+ var start = input.selectionStart;
+ text = text.substring(0, start);
+ var prefixIndex = text.lastIndexOf(' ') + 1;
+
+ var prefix = text.substring(prefixIndex);
+ if (!prefix)
+ return [];
+
+ var negative = prefix.startsWith('-');
+ if (negative)
+ prefix = prefix.substring(1);
+ var modifier = negative ? '-' : '';
+ var valueDelimiterIndex = prefix.indexOf(':');
+
+ var suggestions = [];
+ if (valueDelimiterIndex === -1) {
+ var matcher = new RegExp('^' + prefix.escapeForRegExp(), 'i');
+ for (var j = 0; j < this._keys.length; ++j) {
+ if (this._keys[j].match(matcher))
+ suggestions.push(modifier + this._keys[j] + ':');
+ }
+ } else {
+ var key = prefix.substring(0, valueDelimiterIndex).toLowerCase();
+ var value = prefix.substring(valueDelimiterIndex + 1);
+ var matcher = new RegExp('^' + value.escapeForRegExp(), 'i');
+ var items = this._values(key);
+ for (var i = 0; i < items.length; ++i) {
+ if (items[i].match(matcher) && (items[i] !== value))
+ suggestions.push(modifier + key + ':' + items[i]);
+ }
+ }
+ return suggestions;
+ }
+
+ /**
+ * @override
+ * @param {!HTMLInputElement} input
+ * @param {string} suggestion
+ * @param {boolean} isIntermediate
+ */
+ applySuggestion(input, suggestion, isIntermediate) {
+ var text = input.value;
+
+ var start = input.selectionStart;
+ text = text.substring(0, start);
+ var prefixIndex = text.lastIndexOf(' ') + 1;
+
+ if (isIntermediate) {
+ text = text + suggestion.substring(text.length - prefixIndex);
+ input.value = text;
+ } else {
+ text = text.substring(0, prefixIndex) + suggestion;
+ input.value = text;
+ start = text.length;
+ }
+ input.setSelectionRange(start, text.length);
+ }
+
+ /**
+ * @override
+ * @param {!HTMLInputElement} input
+ */
+ unapplySuggestion(input) {
+ var start = input.selectionStart;
+ var end = input.selectionEnd;
+ var text = input.value;
+ if (start !== end && end === text.length)
+ input.value = text.substring(0, start);
+ }
+
+ /**
+ * @param {string} key
+ * @return {!Array.<string>}
+ */
+ _values(key) {
+ var result = this._valueLists[key];
+ if (!result)
+ return [];
+
+ result.sort();
+ return result;
+ }
+
+ /**
+ * @param {string} key
+ * @param {?string=} value
+ */
+ addItem(key, value) {
+ if (!value)
+ return;
+
+ var set = this._valueSets[key];
+ var list = this._valueLists[key];
+ if (!set) {
+ set = {};
+ this._valueSets[key] = set;
+ list = [];
+ this._valueLists[key] = list;
+ }
+
+ if (set[value])
+ return;
+
+ set[value] = true;
+ list.push(value);
+ }
+
+ /**
+ * @param {string} query
+ * @return {{text: !Array.<string>, filters: !Array.<!WebInspector.FilterSuggestionBuilder.Filter>}}
+ */
+ parseQuery(query) {
+ var filters = [];
+ var text = [];
+ var parts = query.split(/\s+/);
+ for (var i = 0; i < parts.length; ++i) {
+ var part = parts[i];
+ if (!part)
+ continue;
+ var colonIndex = part.indexOf(':');
+ if (colonIndex === -1) {
+ text.push(part);
+ continue;
+ }
+ var key = part.substring(0, colonIndex);
+ var negative = key.startsWith('-');
+ if (negative)
+ key = key.substring(1);
+ if (this._keys.indexOf(key) === -1) {
+ text.push(part);
+ continue;
+ }
+ var value = part.substring(colonIndex + 1);
+ filters.push({type: key, data: value, negative: negative});
+ }
+ return {text: text, filters: filters};
+ }
};
/** @typedef {{type: string, data: string, negative: boolean}} */
WebInspector.FilterSuggestionBuilder.Filter;
-
-WebInspector.FilterSuggestionBuilder.prototype = {
- /**
- * @override
- * @param {!HTMLInputElement} input
- * @return {?Array.<string>}
- */
- buildSuggestions: function(input)
- {
- var text = input.value;
- var end = input.selectionEnd;
- if (end !== text.length)
- return null;
-
- var start = input.selectionStart;
- text = text.substring(0, start);
- var prefixIndex = text.lastIndexOf(" ") + 1;
-
- var prefix = text.substring(prefixIndex);
- if (!prefix)
- return [];
-
- var negative = prefix.startsWith("-");
- if (negative)
- prefix = prefix.substring(1);
- var modifier = negative ? "-" : "";
- var valueDelimiterIndex = prefix.indexOf(":");
-
- var suggestions = [];
- if (valueDelimiterIndex === -1) {
- var matcher = new RegExp("^" + prefix.escapeForRegExp(), "i");
- for (var j = 0; j < this._keys.length; ++j) {
- if (this._keys[j].match(matcher))
- suggestions.push(modifier + this._keys[j] + ":");
- }
- } else {
- var key = prefix.substring(0, valueDelimiterIndex).toLowerCase();
- var value = prefix.substring(valueDelimiterIndex + 1);
- var matcher = new RegExp("^" + value.escapeForRegExp(), "i");
- var items = this._values(key);
- for (var i = 0; i < items.length; ++i) {
- if (items[i].match(matcher) && (items[i] !== value))
- suggestions.push(modifier + key + ":" + items[i]);
- }
- }
- return suggestions;
- },
-
- /**
- * @override
- * @param {!HTMLInputElement} input
- * @param {string} suggestion
- * @param {boolean} isIntermediate
- */
- applySuggestion: function(input, suggestion, isIntermediate)
- {
- var text = input.value;
-
- var start = input.selectionStart;
- text = text.substring(0, start);
- var prefixIndex = text.lastIndexOf(" ") + 1;
-
- if (isIntermediate) {
- text = text + suggestion.substring(text.length - prefixIndex);
- input.value = text;
- } else {
- text = text.substring(0, prefixIndex) + suggestion;
- input.value = text;
- start = text.length;
- }
- input.setSelectionRange(start, text.length);
- },
-
- /**
- * @override
- * @param {!HTMLInputElement} input
- */
- unapplySuggestion: function(input)
- {
- var start = input.selectionStart;
- var end = input.selectionEnd;
- var text = input.value;
- if (start !== end && end === text.length)
- input.value = text.substring(0, start);
- },
-
- /**
- * @param {string} key
- * @return {!Array.<string>}
- */
- _values: function(key)
- {
- var result = this._valueLists[key];
- if (!result)
- return [];
-
- result.sort();
- return result;
- },
-
- /**
- * @param {string} key
- * @param {?string=} value
- */
- addItem: function(key, value)
- {
- if (!value)
- return;
-
- var set = this._valueSets[key];
- var list = this._valueLists[key];
- if (!set) {
- set = {};
- this._valueSets[key] = set;
- list = [];
- this._valueLists[key] = list;
- }
-
- if (set[value])
- return;
-
- set[value] = true;
- list.push(value);
- },
-
- /**
- * @param {string} query
- * @return {{text: !Array.<string>, filters: !Array.<!WebInspector.FilterSuggestionBuilder.Filter>}}
- */
- parseQuery: function(query)
- {
- var filters = [];
- var text = [];
- var parts = query.split(/\s+/);
- for (var i = 0; i < parts.length; ++i) {
- var part = parts[i];
- if (!part)
- continue;
- var colonIndex = part.indexOf(":");
- if (colonIndex === -1) {
- text.push(part);
- continue;
- }
- var key = part.substring(0, colonIndex);
- var negative = key.startsWith("-");
- if (negative)
- key = key.substring(1);
- if (this._keys.indexOf(key) === -1) {
- text.push(part);
- continue;
- }
- var value = part.substring(colonIndex + 1);
- filters.push({type: key, data: value, negative: negative});
- }
- return {text: text, filters: filters};
- }
-};

Powered by Google App Engine
This is Rietveld 408576698