Home | History | Annotate | Download | only in api
      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.
      4 
      5 [
      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: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: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:Session.tab will be set."}
     30         }
     31       },
     32       {
     33         "id": "Device",
     34         "type": "object",
     35         "properties": {
     36           "info": {"type": "string", "description": "Represents all information about a foreign device."},
     37           "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."}
     38         }
     39       }
     40     ],
     41     "functions": [
     42       {
     43         "name": "getRecentlyClosed",
     44         "type": "function",
     45         "description": "Gets the list of recently closed tabs and/or windows.",
     46         "parameters": [
     47           {
     48             "$ref": "Filter",
     49             "name": "filter",
     50             "optional": true
     51           },
     52           {
     53             "type": "function",
     54             "name": "callback",
     55             "parameters": [
     56               {
     57                 "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."
     58               }
     59             ]
     60           }
     61         ]
     62       },
     63       {
     64         "name": "getDevices",
     65         "type": "function",
     66         "description": "Retrieves all devices with synced sessions.",
     67         "parameters": [
     68           {
     69             "$ref": "Filter",
     70             "name": "filter",
     71             "optional": true
     72           },
     73           {
     74             "type": "function",
     75             "name": "callback",
     76             "parameters": [
     77               {
     78                 "name": "devices", "type": "array", "items": { "$ref": "Device" }, "description": "The list of $ref: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:Session objects."
     79               }
     80             ]
     81           }
     82         ]
     83       },
     84       {
     85         "name": "restore",
     86         "type": "function",
     87         "description": "Reopens a $ref:windows.Window or $ref:tabs.Tab, with an optional callback to run when the entry has been restored.",
     88         "parameters": [
     89           {
     90             "type": "string",
     91             "name": "sessionId",
     92             "optional": true,
     93             "description": "The $ref:windows.Window.sessionId, or $ref:tabs.Tab.sessionId to restore."
     94           },
     95           {
     96             "type": "function",
     97             "name": "callback",
     98             "optional": true,
     99             "parameters": [
    100               {
    101                 "$ref": "Session",
    102                 "name": "restoredSession",
    103                 "description": "A $ref:Session containing the restored $ref:windows.Window or $ref:tabs.Tab object."
    104               }
    105             ]
    106           }
    107         ]
    108       }
    109     ],
    110     "properties": {
    111       "MAX_SESSION_RESULTS": {
    112         "value": 25,
    113         "description": "The maximum number of $ref:Session that will be included in a requested list."
    114       }
    115     }
    116   }
    117 ]
    118