| // 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": "DescriptionStyleType", |
| "type": "string", |
| "description": "The style type.", |
| "enum": ["url", "match", "dim"] |
| }, |
| { |
| "id": "OnInputEnteredDisposition", |
| "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." |
| }, |
| { |
| "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>. You must escape the five predefined entities to display them as text: stackoverflow.com/a/1091953/89484 " |
| }, |
| "deletable": { |
| "type": "boolean", |
| "optional": true, |
| "description": "Whether the suggest result can be deleted by the user." |
| }, |
| "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", "$ref": "DescriptionStyleType"}, |
| "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", "$ref": "DescriptionStyleType"}, |
| "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", |
| "$ref": "OnInputEnteredDisposition" |
| } |
| ] |
| }, |
| { |
| "name": "onInputCancelled", |
| "type": "function", |
| "description": "User has ended the keyword input session without accepting the input.", |
| "parameters": [] |
| }, |
| { |
| "name": "onDeleteSuggestion", |
| "type": "function", |
| "description": "User has deleted a suggested result.", |
| "parameters": [ |
| { |
| "type": "string", |
| "name": "text", |
| "description": "Text of the deleted suggestion." |
| } |
| ] |
| } |
| ] |
| } |
| ] |