chromium/chrome/common/extensions/api/bookmark_manager_private.json

// 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"}
        ]
      }
    ]
  }
]