Update CrOS OOBE throbber to MD throbber; delete old asset
[chromium-blink-merge.git] / chrome / common / extensions / api / sessions.json
blob1776796893f4621afe77a03d8e34ca0bfd20c905
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6   {
7     "namespace": "sessions",
8     "description": "Use the <code>chrome.sessions</code> API to query and restore tabs and windows from a browsing session.",
9     "types": [
10       {
11         "id": "Filter",
12         "type": "object",
13         "properties": {
14           "maxResults": {
15             "type": "integer",
16             "minimum": 0,
17             "maximum": 25,
18             "optional": true,
19             "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))."
20           }
21         }
22       },
23       {
24         "id": "Session",
25         "type": "object",
26         "properties": {
27           "lastModified": {"type": "integer", "description": "The time when the window or tab was closed or modified, represented in milliseconds since the epoch."},
28           "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."},
29           "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."}
30         }
31       },
32       {
33         "id": "Device",
34         "type": "object",
35         "properties": {
36           "info": {"type": "string", "nodoc": true},
37           "deviceName": {"type": "string", "description": "The name of the foreign device."},
38           "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."}
39         }
40       }
41     ],
42     "functions": [
43       {
44         "name": "getRecentlyClosed",
45         "type": "function",
46         "description": "Gets the list of recently closed tabs and/or windows.",
47         "parameters": [
48           {
49             "$ref": "Filter",
50             "name": "filter",
51             "optional": true
52           },
53           {
54             "type": "function",
55             "name": "callback",
56             "parameters": [
57               {
58                 "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."
59               }
60             ]
61           }
62         ]
63       },
64       {
65         "name": "getDevices",
66         "type": "function",
67         "description": "Retrieves all devices with synced sessions.",
68         "parameters": [
69           {
70             "$ref": "Filter",
71             "name": "filter",
72             "optional": true
73           },
74           {
75             "type": "function",
76             "name": "callback",
77             "parameters": [
78               {
79                 "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."
80               }
81             ]
82           }
83         ]
84       },
85       {
86         "name": "restore",
87         "type": "function",
88         "description": "Reopens a $(ref:windows.Window) or $(ref:tabs.Tab), with an optional callback to run when the entry has been restored.",
89         "parameters": [
90           {
91             "type": "string",
92             "name": "sessionId",
93             "optional": true,
94             "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."
95           },
96           {
97             "type": "function",
98             "name": "callback",
99             "optional": true,
100             "parameters": [
101               {
102                 "$ref": "Session",
103                 "name": "restoredSession",
104                 "description": "A $(ref:sessions.Session) containing the restored $(ref:windows.Window) or $(ref:tabs.Tab) object."
105               }
106             ]
107           }
108         ]
109       }
110     ],
111     "events": [
112       {
113         "name": "onChanged",
114         "description": "Fired when recently closed tabs and/or windows are changed. This event does not monitor synced sessions changes.",
115         "type": "function"
116       }
117     ],
118     "properties": {
119       "MAX_SESSION_RESULTS": {
120         "value": 25,
121         "description": "The maximum number of $(ref:sessions.Session) that will be included in a requested list."
122       }
123     }
124   }