summaryrefslogtreecommitdiffstats
path: root/browser/components/extensions/schemas/search.json
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/extensions/schemas/search.json')
-rw-r--r--browser/components/extensions/schemas/search.json131
1 files changed, 131 insertions, 0 deletions
diff --git a/browser/components/extensions/schemas/search.json b/browser/components/extensions/schemas/search.json
new file mode 100644
index 0000000000..c8701164f9
--- /dev/null
+++ b/browser/components/extensions/schemas/search.json
@@ -0,0 +1,131 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+[
+ {
+ "namespace": "manifest",
+ "types": [
+ {
+ "$extend": "OptionalPermissionNoPrompt",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["search"]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "search",
+ "description": "Use browser.search to interact with search engines.",
+ "permissions": ["search"],
+ "types": [
+ {
+ "id": "SearchEngine",
+ "type": "object",
+ "description": "An object encapsulating a search engine",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "isDefault": {
+ "type": "boolean"
+ },
+ "alias": {
+ "type": "string",
+ "optional": true
+ },
+ "favIconUrl": {
+ "type": "string",
+ "optional": true,
+ "format": "url"
+ }
+ }
+ },
+ {
+ "id": "Disposition",
+ "type": "string",
+ "description": "Location where search results should be displayed.",
+ "enum": ["CURRENT_TAB", "NEW_TAB", "NEW_WINDOW"]
+ }
+ ],
+ "functions": [
+ {
+ "name": "get",
+ "type": "function",
+ "description": "Gets a list of search engines.",
+ "async": true,
+ "parameters": []
+ },
+ {
+ "name": "search",
+ "type": "function",
+ "description": "Perform a search.",
+ "async": true,
+ "parameters": [
+ {
+ "type": "object",
+ "name": "searchProperties",
+ "properties": {
+ "query": {
+ "type": "string",
+ "description": "Terms to search for."
+ },
+ "engine": {
+ "type": "string",
+ "optional": true,
+ "description": "Search engine to use. Uses the default if not specified."
+ },
+ "disposition": {
+ "$ref": "Disposition",
+ "optional": true,
+ "description": "Location where search results should be displayed. NEW_TAB is the default."
+ },
+ "tabId": {
+ "type": "integer",
+ "optional": true,
+ "description": "The ID of the tab for the search results. If not specified, a new tab is created, unless disposition is set. tabId cannot be used with disposition."
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "query",
+ "type": "function",
+ "async": "callback",
+ "description": "Use the chrome.search API to search via the default provider.",
+ "parameters": [
+ {
+ "type": "object",
+ "name": "queryInfo",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "String to query with the default search provider."
+ },
+ "disposition": {
+ "$ref": "Disposition",
+ "optional": true,
+ "description": "Location where search results should be displayed. CURRENT_TAB is the default."
+ },
+ "tabId": {
+ "type": "integer",
+ "optional": true,
+ "description": "Location where search results should be displayed. tabId cannot be used with disposition."
+ }
+ }
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "optional": true,
+ "parameters": []
+ }
+ ]
+ }
+ ]
+ }
+]