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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/quick_open/HelpQuickOpen.js

Issue 2814263002: DevTools: Show a list of availble QuickOpen providers (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 QuickOpen.HelpQuickOpen = class extends QuickOpen.FilteredListWidget.Provider {
5 constructor() {
6 super();
7 /** @type {!Array<{prefix: string, title: string}>} */
8 this._providers = [];
9 self.runtime.extensions(QuickOpen.FilteredListWidget.Provider).forEach(this. _addProvider.bind(this));
10 }
11
12 /**
13 * @param {!Runtime.Extension} extension
14 */
15 _addProvider(extension) {
16 if (extension.descriptor()['title'])
17 this._providers.push({prefix: extension.descriptor()['prefix'], title: ext ension.descriptor()['title']});
18 }
19
20 /**
21 * @override
22 * @return {number}
23 */
24 itemCount() {
25 return this._providers.length;
26 }
27
28 /**
29 * @override
30 * @param {number} itemIndex
31 * @return {string}
32 */
33 itemKeyAt(itemIndex) {
34 return this._providers[itemIndex].prefix;
35 }
36
37 /**
38 * @override
39 * @param {number} itemIndex
40 * @param {string} query
41 * @return {number}
42 */
43 itemScoreAt(itemIndex, query) {
44 return -this._providers[itemIndex].prefix.length;
45 }
46
47 /**
48 * @override
49 * @param {number} itemIndex
50 * @param {string} query
51 * @param {!Element} titleElement
52 * @param {!Element} subtitleElement
53 */
54 renderItem(itemIndex, query, titleElement, subtitleElement) {
55 var provider = this._providers[itemIndex];
56 var prefixElement = titleElement.createChild('span', 'monospace');
57 prefixElement.textContent = (provider.prefix || '\u2026') + ' ';
58 titleElement.createTextChild(provider.title);
59 }
60
61 /**
62 * @override
63 * @param {?number} itemIndex
64 * @param {string} promptValue
65 */
66 selectItem(itemIndex, promptValue) {
67 if (itemIndex === null) {
68 InspectorFrontendHost.openInNewTab(
einbinder 2017/04/12 21:37:50 I'm not sure how I feel about this, but it was eas
pfeldman 2017/04/13 00:30:51 Don't do that, just the line 72?
einbinder 2017/04/13 01:22:24 Done.
69 'https://developers.google.com/s/results/?q=' + encodeURIComponent(pro mptValue) + '&p=%2Fweb%2F');
70 return;
71 }
72 QuickOpen.QuickOpen.show(this._providers[itemIndex].prefix);
73 }
74
75 /**
76 * @override
77 * @param {string} query
78 * @return {string}
79 */
80 notFoundText(query) {
81 return Common.UIString('Search for %s.', query);
82 }
83
84 /**
85 * @override
86 * @return {boolean}
87 */
88 renderAsTwoRows() {
89 return false;
90 }
91 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698