• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2012 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
5[
6  {
7    "namespace": "omnibox",
8    "description": "The omnibox API allows you to register a keyword with Google Chrome's address bar, which is also known as the omnibox.",
9    "types": [
10      {
11        "id": "SuggestResult",
12        "type": "object",
13        "description": "A suggest result.",
14        "properties": {
15          "content": {
16            "type": "string",
17            "minLength": 1,
18            "description": "The text that is put into the URL bar, and that is sent to the extension when the user chooses this entry."
19          },
20          "description": {
21            "type": "string",
22            "minLength": 1,
23            "description": "The text that is displayed in the URL dropdown. Can contain XML-style markup for styling. The supported tags are 'url' (for a literal URL), 'match' (for highlighting text that matched what the user's query), and 'dim' (for dim helper text). The styles can be nested, eg. <dim><match>dimmed match</match></dim>."
24          },
25          "descriptionStyles": {
26            "nodoc": true,
27            "optional": true,
28            "type": "array",
29            "description": "An array of style ranges for the description, as provided by the extension.",
30            "items": {
31              "type": "object",
32              "name": "matchClassification",
33              "description": "The style ranges for the description, as provided by the extension.",
34              "properties": {
35                "offset": { "type": "integer" },
36                "type": { "description": "The style type", "type": "string", "enum": ["url", "match", "dim"]},
37                "length": { "type": "integer", "optional": true }
38              }
39            }
40          },
41          "descriptionStylesRaw": {
42            "nodoc": true,
43            "optional": true,
44            "type": "array",
45            "description": "An array of style ranges for the description, as provided by ToValue().",
46            "items": {
47              "type": "object",
48              "name": "matchClassification",
49              "description": "The style ranges for the description, as provided by ToValue().",
50              "properties": {
51                "offset": { "type": "integer" },
52                "type": { "type": "integer" }
53              }
54            }
55          }
56        }
57      },
58      {
59        "id": "DefaultSuggestResult",
60        "inline_doc": true,
61        "type": "object",
62        "description": "A suggest result.",
63        "properties": {
64          "description": {
65            "type": "string",
66            "minLength": 1,
67            "description": "The text that is displayed in the URL dropdown. Can contain XML-style markup for styling. The supported tags are 'url' (for a literal URL), 'match' (for highlighting text that matched what the user's query), and 'dim' (for dim helper text). The styles can be nested, eg. <dim><match>dimmed match</match></dim>."
68          },
69          "descriptionStyles": {
70            "nodoc": true,
71            "optional": true,
72            "type": "array",
73            "description": "An array of style ranges for the description, as provided by the extension.",
74            "items": {
75              "type": "object",
76              "name": "matchClassification",
77              "description": "The style ranges for the description, as provided by the extension.",
78              "properties": {
79                "offset": { "type": "integer" },
80                "type": { "description": "The style type", "type": "string", "enum": ["url", "match", "dim"]},
81                "length": { "type": "integer", "optional": true }
82              }
83            }
84          },
85          "descriptionStylesRaw": {
86            "nodoc": true,
87            "optional": true,
88            "type": "array",
89            "description": "An array of style ranges for the description, as provided by ToValue().",
90            "items": {
91              "type": "object",
92              "name": "matchClassification",
93              "description": "The style ranges for the description, as provided by ToValue().",
94              "properties": {
95                "offset": { "type": "integer" },
96                "type": { "type": "integer" }
97              }
98            }
99          }
100        }
101      }
102    ],
103    "functions": [
104      {
105        "name": "sendSuggestions",
106        "nodoc": true,
107        "type": "function",
108        "description": "A callback passed to the onInputChanged event used for sending suggestions back to the browser.",
109        "parameters": [
110          {"type": "integer", "name": "requestId"},
111          {
112            "name": "suggestResults",
113            "type": "array",
114            "description": "An array of suggest results",
115            "items": {
116              "$ref": "SuggestResult"
117            }
118          }
119        ]
120      },
121      {
122        "name": "setDefaultSuggestion",
123        "type": "function",
124        "description": "Sets the description and styling for the default suggestion. The default suggestion is the text that is displayed in the first suggestion row underneath the URL bar.",
125        "parameters": [
126          {
127            "name": "suggestion",
128            "$ref": "DefaultSuggestResult",
129            "description": "A partial SuggestResult object, without the 'content' parameter."
130          }
131        ]
132      }
133    ],
134    "events": [
135      {
136        "name": "onInputStarted",
137        "type": "function",
138        "description": "User has started a keyword input session by typing the extension's keyword. This is guaranteed to be sent exactly once per input session, and before any onInputChanged events.",
139        "parameters": []
140      },
141      {
142        "name": "onInputChanged",
143        "type": "function",
144        "description": "User has changed what is typed into the omnibox.",
145        "parameters": [
146          {
147            "type": "string",
148            "name": "text"
149          },
150          {
151            "name": "suggest",
152            "type": "function",
153            "description": "A callback passed to the onInputChanged event used for sending suggestions back to the browser.",
154            "parameters": [
155              {
156                "name": "suggestResults",
157                "type": "array",
158                "description": "Array of suggest results",
159                "items": {
160                  "$ref": "SuggestResult"
161                }
162              }
163            ]
164          }
165        ]
166      },
167      {
168        "name": "onInputEntered",
169        "type": "function",
170        "description": "User has accepted what is typed into the omnibox.",
171        "parameters": [
172          {
173            "type": "string",
174            "name": "text"
175          },
176          {
177            "name": "disposition",
178            "type": "string",
179            "enum": ["currentTab", "newForegroundTab", "newBackgroundTab"],
180            "description": "The window disposition for the omnibox query. This is the recommended context to display results. For example, if the omnibox command is to navigate to a certain URL, a disposition of 'newForegroundTab' means the navigation should take place in a new selected tab."
181          }
182        ]
183      },
184      {
185        "name": "onInputCancelled",
186        "type": "function",
187        "description": "User has ended the keyword input session without accepting the input.",
188        "parameters": []
189      }
190    ]
191  }
192]
193