Index: third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js b/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js |
index 44bb6449350ff80949141fc86297e0c0fb4f7d6f..a56b28e8f0af9cf1963b4e732ae70ada262d6d3f 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js |
+++ b/third_party/WebKit/Source/devtools/front_end/quick_open/FilteredListWidget.js |
@@ -68,6 +68,47 @@ QuickOpen.FilteredListWidget = class extends UI.VBox { |
return new RegExp(regexString, 'i'); |
} |
+ /** |
+ * @param {!Element} element |
+ * @param {string} query |
+ * @param {boolean=} caseInsensitive |
+ * @return {boolean} |
+ */ |
+ static highlightRanges(element, query, caseInsensitive) { |
+ if (!query) |
+ return false; |
+ |
+ /** |
+ * @param {string} text |
+ * @param {string} query |
+ * @return {?Array.<!Common.SourceRange>} |
+ */ |
+ function rangesForMatch(text, query) { |
+ var opcodes = Diff.Diff.charDiff(query, text); |
+ var offset = 0; |
+ var ranges = []; |
+ for (var i = 0; i < opcodes.length; ++i) { |
+ var opcode = opcodes[i]; |
+ if (opcode[0] === Diff.Diff.Operation.Equal) |
+ ranges.push(new Common.SourceRange(offset, opcode[1].length)); |
+ else if (opcode[0] !== Diff.Diff.Operation.Insert) |
+ return null; |
+ offset += opcode[1].length; |
+ } |
+ return ranges; |
+ } |
+ |
+ var text = element.textContent; |
+ var ranges = rangesForMatch(text, query); |
+ if (!ranges || caseInsensitive) |
+ ranges = rangesForMatch(text.toUpperCase(), query.toUpperCase()); |
+ if (ranges) { |
+ UI.highlightRangesWithStyleClass(element, ranges, 'highlight'); |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
showAsDialog() { |
this._dialog = new UI.Dialog(); |
this._dialog.setMaxSize(new Size(504, 340)); |
@@ -414,53 +455,6 @@ QuickOpen.FilteredListWidget.Delegate = class { |
} |
/** |
- * @param {!Element} element |
- * @param {string} query |
- * @return {boolean} |
- */ |
- highlightRanges(element, query) { |
- if (!query) |
- return false; |
- |
- /** |
- * @param {string} text |
- * @param {string} query |
- * @return {?Array.<!Common.SourceRange>} |
- */ |
- function rangesForMatch(text, query) { |
- var opcodes = Diff.Diff.charDiff(query, text); |
- var offset = 0; |
- var ranges = []; |
- for (var i = 0; i < opcodes.length; ++i) { |
- var opcode = opcodes[i]; |
- if (opcode[0] === Diff.Diff.Operation.Equal) |
- ranges.push(new Common.SourceRange(offset, opcode[1].length)); |
- else if (opcode[0] !== Diff.Diff.Operation.Insert) |
- return null; |
- offset += opcode[1].length; |
- } |
- return ranges; |
- } |
- |
- var text = element.textContent; |
- var ranges = rangesForMatch(text, query); |
- if (!ranges || !this.caseSensitive()) |
- ranges = rangesForMatch(text.toUpperCase(), query.toUpperCase()); |
- if (ranges) { |
- UI.highlightRangesWithStyleClass(element, ranges, 'highlight'); |
- return true; |
- } |
- return false; |
- } |
- |
- /** |
- * @return {boolean} |
- */ |
- caseSensitive() { |
- return true; |
- } |
- |
- /** |
* @return {boolean} |
*/ |
renderMonospace() { |