| 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() {
|
|
|