diff options
Diffstat (limited to 'browser/components/extensions/schemas/sessions.json')
-rw-r--r-- | browser/components/extensions/schemas/sessions.json | 324 |
1 files changed, 324 insertions, 0 deletions
diff --git a/browser/components/extensions/schemas/sessions.json b/browser/components/extensions/schemas/sessions.json new file mode 100644 index 0000000000..d554219496 --- /dev/null +++ b/browser/components/extensions/schemas/sessions.json @@ -0,0 +1,324 @@ +// Copyright 2013 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": "OptionalPermission", + "choices": [ + { + "type": "string", + "enum": ["sessions"] + } + ] + } + ] + }, + { + "namespace": "sessions", + "description": "Use the <code>chrome.sessions</code> API to query and restore tabs and windows from a browsing session.", + "permissions": ["sessions"], + "types": [ + { + "id": "Filter", + "type": "object", + "properties": { + "maxResults": { + "type": "integer", + "minimum": 0, + "maximum": 25, + "optional": true, + "description": "The maximum number of entries to be fetched in the requested list. Omit this parameter to fetch the maximum number of entries ($(ref:sessions.MAX_SESSION_RESULTS))." + } + } + }, + { + "id": "Session", + "type": "object", + "properties": { + "lastModified": { + "type": "integer", + "description": "The time when the window or tab was closed or modified, represented in milliseconds since the epoch." + }, + "tab": { + "$ref": "tabs.Tab", + "optional": true, + "description": "The $(ref:tabs.Tab), if this entry describes a tab. Either this or $(ref:sessions.Session.window) will be set." + }, + "window": { + "$ref": "windows.Window", + "optional": true, + "description": "The $(ref:windows.Window), if this entry describes a window. Either this or $(ref:sessions.Session.tab) will be set." + } + } + }, + { + "id": "Device", + "type": "object", + "properties": { + "info": { "type": "string" }, + "deviceName": { + "type": "string", + "description": "The name of the foreign device." + }, + "sessions": { + "type": "array", + "items": { "$ref": "Session" }, + "description": "A list of open window sessions for the foreign device, sorted from most recently to least recently modified session." + } + } + } + ], + "functions": [ + { + "name": "forgetClosedTab", + "type": "function", + "description": "Forget a recently closed tab.", + "async": true, + "parameters": [ + { + "name": "windowId", + "type": "integer", + "description": "The windowId of the window to which the recently closed tab to be forgotten belongs." + }, + { + "name": "sessionId", + "type": "string", + "description": "The sessionId (closedId) of the recently closed tab to be forgotten." + } + ] + }, + { + "name": "forgetClosedWindow", + "type": "function", + "description": "Forget a recently closed window.", + "async": true, + "parameters": [ + { + "name": "sessionId", + "type": "string", + "description": "The sessionId (closedId) of the recently closed window to be forgotten." + } + ] + }, + { + "name": "getRecentlyClosed", + "type": "function", + "description": "Gets the list of recently closed tabs and/or windows.", + "async": "callback", + "parameters": [ + { + "$ref": "Filter", + "name": "filter", + "optional": true, + "default": {} + }, + { + "type": "function", + "name": "callback", + "parameters": [ + { + "name": "sessions", + "type": "array", + "items": { "$ref": "Session" }, + "description": "The list of closed entries in reverse order that they were closed (the most recently closed tab or window will be at index <code>0</code>). The entries may contain either tabs or windows." + } + ] + } + ] + }, + { + "name": "getDevices", + "unsupported": true, + "type": "function", + "description": "Retrieves all devices with synced sessions.", + "async": "callback", + "parameters": [ + { + "$ref": "Filter", + "name": "filter", + "optional": true + }, + { + "type": "function", + "name": "callback", + "parameters": [ + { + "name": "devices", + "type": "array", + "items": { "$ref": "Device" }, + "description": "The list of $(ref:sessions.Device) objects for each synced session, sorted in order from device with most recently modified session to device with least recently modified session. $(ref:tabs.Tab) objects are sorted by recency in the $(ref:windows.Window) of the $(ref:sessions.Session) objects." + } + ] + } + ] + }, + { + "name": "restore", + "type": "function", + "description": "Reopens a $(ref:windows.Window) or $(ref:tabs.Tab), with an optional callback to run when the entry has been restored.", + "async": "callback", + "parameters": [ + { + "type": "string", + "name": "sessionId", + "optional": true, + "description": "The $(ref:windows.Window.sessionId), or $(ref:tabs.Tab.sessionId) to restore. If this parameter is not specified, the most recently closed session is restored." + }, + { + "type": "function", + "name": "callback", + "optional": true, + "parameters": [ + { + "$ref": "Session", + "name": "restoredSession", + "description": "A $(ref:sessions.Session) containing the restored $(ref:windows.Window) or $(ref:tabs.Tab) object." + } + ] + } + ] + }, + { + "name": "setTabValue", + "type": "function", + "description": "Set a key/value pair on a given tab.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": 0, + "name": "tabId", + "description": "The id of the tab that the key/value pair is being set on." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value being set." + }, + { + "type": "any", + "name": "value", + "description": "The value being set." + } + ] + }, + { + "name": "getTabValue", + "type": "function", + "description": "Retrieve a value that was set for a given key on a given tab.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": 0, + "name": "tabId", + "description": "The id of the tab whose value is being retrieved from." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value." + } + ] + }, + { + "name": "removeTabValue", + "type": "function", + "description": "Remove a key/value pair that was set on a given tab.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": 0, + "name": "tabId", + "description": "The id of the tab whose key/value pair is being removed." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value." + } + ] + }, + { + "name": "setWindowValue", + "type": "function", + "description": "Set a key/value pair on a given window.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": -2, + "name": "windowId", + "description": "The id of the window that the key/value pair is being set on." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value being set." + }, + { + "type": "any", + "name": "value", + "description": "The value being set." + } + ] + }, + { + "name": "getWindowValue", + "type": "function", + "description": "Retrieve a value that was set for a given key on a given window.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": -2, + "name": "windowId", + "description": "The id of the window whose value is being retrieved from." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value." + } + ] + }, + { + "name": "removeWindowValue", + "type": "function", + "description": "Remove a key/value pair that was set on a given window.", + "async": true, + "parameters": [ + { + "type": "integer", + "minimum": -2, + "name": "windowId", + "description": "The id of the window whose key/value pair is being removed." + }, + { + "type": "string", + "name": "key", + "description": "The key which corresponds to the value." + } + ] + } + ], + "events": [ + { + "name": "onChanged", + "description": "Fired when recently closed tabs and/or windows are changed. This event does not monitor synced sessions changes.", + "type": "function" + } + ], + "properties": { + "MAX_SESSION_RESULTS": { + "value": 25, + "description": "The maximum number of $(ref:sessions.Session) that will be included in a requested list." + } + } + } +] |