// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "bookmarkManagerPrivate",
"description": "none",
"types": [
{
"id": "BookmarkNodeDataElement",
"type": "object",
"properties": {
"id": {
"type": "string",
"optional": true,
"description": "The ID of the bookmark. This is only provided if the data is from the same profile."
},
"parentId": {
"type": "string",
"optional": true,
"description": "The ID of the parent of the bookmark. This is only provided if the data is from the same profile."
},
"title": {"type": "string"},
"url": {
"type": "string",
"optional": true
},
"children": {
"type": "array",
"items": {"$ref": "BookmarkNodeDataElement"}
}
}
},
{
"id": "BookmarkNodeData",
"type": "object",
"description": "Information about the drag and drop data for use with drag and drop events.",
"properties": {
"sameProfile": {"type": "boolean"},
"elements": {
"type": "array",
"items": {"$ref": "BookmarkNodeDataElement"}
}
}
}
],
"functions": [
{
"name": "copy",
"type": "function",
"description": "Copies the given bookmarks into the clipboard.",
"parameters": [
{
"name": "idList",
"description": "An array of string-valued ids",
"type": "array",
"items": {"type": "string"},
"minItems": 1
}
],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "cut",
"type": "function",
"description": "Cuts the given bookmarks into the clipboard.",
"parameters": [
{
"name": "idList",
"description": "An array of string-valued ids",
"type": "array",
"items": {"type": "string"},
"minItems": 1
}
],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "paste",
"type": "function",
"description": "Pastes bookmarks from the clipboard into the parent folder after the last selected node.",
"parameters": [
{
"type": "string",
"name": "parentId"
},
{
"name": "selectedIdList",
"description": "An array of string-valued ids for selected bookmarks.",
"optional": true,
"type": "array",
"items": {"type": "string"},
"minItems": 0
}
],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "canPaste",
"type": "function",
"description": "Whether there are any bookmarks that can be pasted.",
"parameters": [
{
"type": "string",
"name": "parentId",
"description": "The ID of the folder to paste into."
}
],
"returns_async": {
"name": "callback",
"parameters": [
{
"name": "result",
"type": "boolean"
}
]
}
},
{
"name": "sortChildren",
"type": "function",
"description": "Sorts the children of a given folder.",
"parameters": [
{
"type": "string",
"name": "parentId",
"description": "The ID of the folder to sort the children of."
}
]
},
{
"name": "startDrag",
"type": "function",
"description": "Begins dragging a set of bookmarks.",
"parameters": [
{
"name": "idList",
"description": "An array of string-valued ids.",
"type": "array",
"items": {"type": "string"},
"minItems": 1
},
{
"name": "dragNodeIndex",
"type": "integer",
"minimum": 0,
"description": "The index of the dragged node in |idList|"
},
{
"name": "isFromTouch",
"type": "boolean",
"description": "True if the drag was initiated from touch."
},
{
"name": "x",
"type": "integer",
"minimum": 0,
"description": "The clientX of the dragStart event"
},
{
"name": "y",
"type": "integer",
"minimum": 0,
"description": "The clientY of the dragStart event"
}
]
},
{
"name": "drop",
"type": "function",
"description": "Performs the drop action of the drag and drop session.",
"parameters": [
{
"name": "parentId",
"description": "The ID of the folder that the drop was made.",
"type": "string"
},
{
"name": "index",
"description": "The index of the position to drop at. If left out the dropped items will be placed at the end of the existing children.",
"type": "integer",
"minimum": 0,
"optional": true
}
],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "getSubtree",
"type": "function",
"description": "Retrieves a bookmark hierarchy from the given node. If the node id is empty, it is the full tree. If foldersOnly is true, it will only return folders, not actual bookmarks.",
"parameters": [
{
"name": "id",
"type": "string",
"description": "ID of the root of the tree to pull. If empty, the entire tree will be returned."
},
{
"name": "foldersOnly",
"type": "boolean",
"description": "Pass true to only return folders."
}
],
"returns_async": {
"name": "callback",
"parameters": [
{
"name": "results",
"type": "array",
"items": { "$ref": "bookmarks.BookmarkTreeNode"}
}
]
}
},
{
"name": "removeTrees",
"type": "function",
"description": "Recursively removes list of bookmarks nodes.",
"parameters": [
{
"name": "idList",
"description": "An array of string-valued ids.",
"type": "array",
"items": {"type": "string"},
"minItems": 1
}
],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "undo",
"type": "function",
"description": "Performs an undo of the last change to the bookmark model.",
"parameters": []
},
{
"name": "redo",
"type": "function",
"description": "Performs a redo of last undone change to the bookmark model.",
"parameters": []
},
{
"name": "openInNewTab",
"type": "function",
"description": "Opens the given bookmark in a new tab.",
"parameters": [
{
"name": "id",
"description": "One string-valued id.",
"type": "string"
},
{
"name": "active",
"description": "Whether this tab should be active.",
"type": "boolean"
}
]
},
{
"name": "openInNewWindow",
"type": "function",
"description": "Opens the given bookmarks in a new window.",
"parameters": [
{
"name": "idList",
"description": "An array of string-valued ids.",
"type": "array",
"items": {"type": "string"},
"minItems": 1
},
{
"name": "incognito",
"description": "Whether the new window should be an incognito window.",
"type": "boolean"
}
]
},
{
"name": "import",
"type": "function",
"description": "Imports bookmarks from a Chrome html bookmark file",
"parameters": [],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
},
{
"name": "export",
"type": "function",
"description": "Exports bookmarks to a Chrome html bookmark file",
"parameters": [],
"returns_async": {
"name": "callback",
"optional": true,
"parameters": []
}
}
],
"events": [
{
"name": "onDragEnter",
"type": "function",
"description": "Fired when dragging bookmarks over the document.",
"parameters": [
{"name": "bookmarkNodeData", "$ref": "BookmarkNodeData"}
]
},
{
"name": "onDragLeave",
"type": "function",
"description": "Fired when the drag and drop leaves the document.",
"parameters": [
{"name": "bookmarkNodeData", "$ref": "BookmarkNodeData"}
]
},
{
"name": "onDrop",
"type": "function",
"description": "Fired when the user drops bookmarks on the document.",
"parameters": [
{"name": "bookmarkNodeData", "$ref": "BookmarkNodeData"}
]
}
]
}
]