Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / api / launcher_search_provider.idl
blob5f59f72900eb149004b061f731c1c4e8f592a4a6
1 // Copyright 2015 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.
5 // An API to listen queries of the Chrome Launcher and provide search results
6 // to it.
7 [platforms=("chromeos"),
8 implemented_in="chrome/browser/chromeos/extensions/launcher_search_provider.h",
9 nodoc]
10 namespace launcherSearchProvider {
11 dictionary SearchResult {
12 DOMString itemId;
13 DOMString title;
14 // If iconUrl is not provided, app/extension icon is used automatically.
15 DOMString? iconUrl;
16 // Relevance ranges from 0 to 4. 0 is the lowest relevance, 4 is highest.
17 long relevance;
20 interface Functions {
21 // Sets search result of this extension for the query. Setting a new search
22 // results overwrites any previous results of this extension. If queryId is
23 // invalid, the results are discarded. Since the space is limited, it is not
24 // guranteed that all provided results are shown to a user. The search
25 // results will be sorted by relevance, with ties broken by the order of the
26 // results in this list (highest priority first).
27 static void setSearchResults(long queryId, SearchResult[] results);
30 interface Events {
31 // Called when a user typed a query. maxResult is the maximum number of
32 // results the extension should provide.
33 static void onQueryStarted(long queryId,
34 DOMString query,
35 long maxResult);
37 // Called when query of |queryId| is ended. After this call,
38 // setSearchResults no longer accept the results for queryId.
39 static void onQueryEnded(long queryId);
41 // Called when a user clicks a search result which is provided by
42 // setSearchResults.
43 static void onOpenResult(DOMString itemId);