248 lines
8.5 KiB
JSON
248 lines
8.5 KiB
JSON
// 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": "manifest",
|
|
"types": [
|
|
{
|
|
"$extend": "WebExtensionManifest",
|
|
"properties": {
|
|
"omnibox": {
|
|
"type": "object",
|
|
"additionalProperties": { "$ref": "UnrecognizedProperty" },
|
|
"properties": {
|
|
"keyword": {
|
|
"type": "string",
|
|
"pattern": "^[^?\\s:]([^\\s:]*[^/\\s:])?$"
|
|
}
|
|
},
|
|
"optional": true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"namespace": "omnibox",
|
|
"description": "The omnibox API allows you to register a keyword with Firefox's address bar.",
|
|
"permissions": ["manifest: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 "
|
|
},
|
|
"descriptionStyles": {
|
|
"optional": true,
|
|
"unsupported": true,
|
|
"type": "array",
|
|
"description": "An array of style ranges for the description, as provided by the extension.",
|
|
"items": {
|
|
"type": "object",
|
|
"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": {
|
|
"optional": true,
|
|
"unsupported": true,
|
|
"type": "array",
|
|
"description": "An array of style ranges for the description, as provided by ToValue().",
|
|
"items": {
|
|
"type": "object",
|
|
"description": "The style ranges for the description, as provided by ToValue().",
|
|
"properties": {
|
|
"offset": { "type": "integer" },
|
|
"type": { "type": "integer" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "DefaultSuggestResult",
|
|
"type": "object",
|
|
"description": "A suggest result.",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The text that is displayed in the URL dropdown."
|
|
},
|
|
"descriptionStyles": {
|
|
"optional": true,
|
|
"unsupported": true,
|
|
"type": "array",
|
|
"description": "An array of style ranges for the description, as provided by the extension.",
|
|
"items": {
|
|
"type": "object",
|
|
"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": {
|
|
"optional": true,
|
|
"unsupported": true,
|
|
"type": "array",
|
|
"description": "An array of style ranges for the description, as provided by ToValue().",
|
|
"items": {
|
|
"type": "object",
|
|
"description": "The style ranges for the description, as provided by ToValue().",
|
|
"properties": {
|
|
"offset": { "type": "integer" },
|
|
"type": { "type": "integer" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"functions": [
|
|
{
|
|
"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": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"namespace": "omnibox_internal",
|
|
"description": "The internal namespace used by the omnibox API.",
|
|
"defaultContexts": ["addon_parent_only"],
|
|
"functions": [
|
|
{
|
|
"name": "addSuggestions",
|
|
"type": "function",
|
|
"async": "callback",
|
|
"description": "Internal function used by omnibox.onInputChanged for adding search suggestions",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"type": "integer",
|
|
"description": "The ID of the callback received by onInputChangedInternal"
|
|
},
|
|
{
|
|
"name": "suggestResults",
|
|
"type": "array",
|
|
"description": "Array of suggest results",
|
|
"items": {
|
|
"$ref": "omnibox.SuggestResult"
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "callback",
|
|
"optional": true,
|
|
"parameters": []
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"events": [
|
|
{
|
|
"name": "onInputChanged",
|
|
"type": "function",
|
|
"description": "Identical to omnibox.onInputChanged except no 'suggest' callback is provided.",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "text"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
] |