// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. [ { "namespace": "omnibox", "description": "The omnibox API allows you to register a keyword with Google Chrome's address bar, which is also known as the omnibox.", "types": [ { "id": "SuggestResult", "type": "object", "description": "A suggest result.", "properties": { "content": { "type": "string", "minLength": 1, "description": "The text that is put into the URL bar, and that is sent to the extension when the user chooses this entry." }, "description": { "type": "string", "minLength": 1, "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>." }, "descriptionStyles": { "nodoc": true, "optional": true, "type": "array", "description": "An array of style ranges for the description, as provided by the extension.", "items": { "type": "object", "name": "matchClassification", "description": "The style ranges for the description, as provided by the extension.", "properties": { "offset": { "type": "integer" }, "type": { "description": "The style type", "type": "string", "enum": ["url", "match", "dim"]}, "length": { "type": "integer", "optional": true } } } }, "descriptionStylesRaw": { "nodoc": true, "optional": true, "type": "array", "description": "An array of style ranges for the description, as provided by ToValue().", "items": { "type": "object", "name": "matchClassification", "description": "The style ranges for the description, as provided by ToValue().", "properties": { "offset": { "type": "integer" }, "type": { "type": "integer" } } } } } }, { "id": "DefaultSuggestResult", "inline_doc": true, "type": "object", "description": "A suggest result.", "properties": { "description": { "type": "string", "minLength": 1, "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>." }, "descriptionStyles": { "nodoc": true, "optional": true, "type": "array", "description": "An array of style ranges for the description, as provided by the extension.", "items": { "type": "object", "name": "matchClassification", "description": "The style ranges for the description, as provided by the extension.", "properties": { "offset": { "type": "integer" }, "type": { "description": "The style type", "type": "string", "enum": ["url", "match", "dim"]}, "length": { "type": "integer", "optional": true } } } }, "descriptionStylesRaw": { "nodoc": true, "optional": true, "type": "array", "description": "An array of style ranges for the description, as provided by ToValue().", "items": { "type": "object", "name": "matchClassification", "description": "The style ranges for the description, as provided by ToValue().", "properties": { "offset": { "type": "integer" }, "type": { "type": "integer" } } } } } } ], "functions": [ { "name": "sendSuggestions", "nodoc": true, "type": "function", "description": "A callback passed to the onInputChanged event used for sending suggestions back to the browser.", "parameters": [ {"type": "integer", "name": "requestId"}, { "name": "suggestResults", "type": "array", "description": "An array of suggest results", "items": { "$ref": "SuggestResult" } } ] }, { "name": "setDefaultSuggestion", "type": "function", "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.", "parameters": [ { "name": "suggestion", "$ref": "DefaultSuggestResult", "description": "A partial SuggestResult object, without the 'content' parameter." } ] } ], "events": [ { "name": "onInputStarted", "type": "function", "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.", "parameters": [] }, { "name": "onInputChanged", "type": "function", "description": "User has changed what is typed into the omnibox.", "parameters": [ { "type": "string", "name": "text" }, { "name": "suggest", "type": "function", "description": "A callback passed to the onInputChanged event used for sending suggestions back to the browser.", "parameters": [ { "name": "suggestResults", "type": "array", "description": "Array of suggest results", "items": { "$ref": "SuggestResult" } } ] } ] }, { "name": "onInputEntered", "type": "function", "description": "User has accepted what is typed into the omnibox.", "parameters": [ { "type": "string", "name": "text" }, { "name": "disposition", "type": "string", "enum": ["currentTab", "newForegroundTab", "newBackgroundTab"], "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." } ] }, { "name": "onInputCancelled", "type": "function", "description": "User has ended the keyword input session without accepting the input.", "parameters": [] } ] } ]