Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js b/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js |
| index b6334818485a438899c563feb5b548b03c6020b7..d4c575e3075528479689fc8e7b7fb8e9da823b91 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js |
| @@ -2888,22 +2888,36 @@ WebInspector.StylesSidebarPane.CSSPropertyPrompt = class extends WebInspector.Te |
| * @param {function(!Array.<string>, number=)} completionsReadyCallback |
| */ |
| _buildPropertyCompletions(proxyElement, wordRange, force, completionsReadyCallback) { |
| - var prefix = wordRange.toString().toLowerCase(); |
| - if (!prefix && !force && (this._isEditingName || proxyElement.textContent.length)) { |
| + var query = wordRange.toString().toLowerCase(); |
| + if (!query && !force && (this._isEditingName || proxyElement.textContent.length)) { |
| completionsReadyCallback([]); |
| return; |
| } |
| - var results = this._cssCompletions.filter(completion => completion.startsWith(prefix)); |
| - if (!this._isEditingName && !results.length && prefix.length > 1 && '!important'.startsWith(prefix)) |
| + var prefixResults = []; |
| + var anywhereResults = []; |
| + this._cssCompletions.forEach(filterCompletions); |
| + var results = prefixResults.concat(anywhereResults); |
| + |
| + if (!this._isEditingName && !results.length && query.length > 1 && '!important'.startsWith(query)) |
| results.push('!important'); |
| var userEnteredText = wordRange.toString().replace('-', ''); |
| if (userEnteredText && (userEnteredText === userEnteredText.toUpperCase())) { |
| for (var i = 0; i < results.length; ++i) |
| results[i] = results[i].toUpperCase(); |
| } |
| - var selectedIndex = this._isEditingName ? WebInspector.cssMetadata().mostUsedProperty(results) : 0; |
| + var selectedIndex = this._isEditingName ? WebInspector.cssMetadata().mostUsedProperty(prefixResults) : 0; |
| completionsReadyCallback(results, selectedIndex); |
| + |
| + /** |
| + * @param {string} completion |
| + */ |
| + function filterCompletions(completion) { |
| + if (completion.startsWith(query)) |
|
lushnikov
2016/11/03 22:06:51
var index = indexof...
einbinder
2016/11/03 23:12:14
Done.
|
| + prefixResults.push(completion); |
| + else if (completion.indexOf(query) !== -1) |
| + anywhereResults.push(completion); |
| + } |
| } |
| }; |