       "description": "Sets the sidebar title for the window specified by windowId."
              }
            }
          }
        ]
      },
      {
        "name": "getTitle",
        "type": "function",
        "description": "Gets the title of the sidebar action.",
        "async": true,
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "tabId": {
                "type": "integer",
                "optional": true,
                "description": "Specify the tab to get the title from. If no tab nor window is specified, the global title is returned."
              },
              "windowId": {
                "type": "integer",
                "optional": true,
                "minimum": -2,
                "description": "Specify the window to get the title from. If no tab nor window is specified, the global title is returned."
              }
            }
          }
        ]
      },
      {
        "name": "setIcon",
        "type": "function",
        "description": "Sets the icon for the sidebar action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element, or as dictionary of either one of those. Either the <strong>path</strong> or the <strong>imageData</strong> property must be specified.",
        "async": true,
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "imageData": {
                "choices": [
                  { "$ref": "ImageDataType" },
                  {
                    "type": "object",
                    "patternProperties": {
                      "^[1-9]\\d*$": { "$ref": "ImageDataType" }
                    },
                    "additionalProperties": false
                  }
                ],
                "optional": true,
                "description": "Either an ImageData object or a dictionary {size -> ImageData} representing icon to be set. If the icon is specified as a dictionary, the actual image to be used is chosen depending on screen's pixel density. If the number of image pixels that fit into one screen space unit equals <code>scale</code>, then image with size <code>scale</code> * 19 will be selected. Initially only scales 1 and 2 will be supported. At least one image must be specified. Note that 'details.imageData = foo' is equivalent to 'details.imageData = {'19': foo}'"
              },
              "path": {
                "choices": [
                  { "type": "string" },
                  {
                    "type": "object",
                    "additionalProperties": { "type": "string" }
                  }
                ],
                "optional": true,
                "description": "Either a relative image path or a dictionary {size -> relative image path} pointing to icon to be set. If the icon is specified as a dictionary, the actual image to be used is chosen depending on screen's pixel density. If the number of image pixels that fit into one screen space unit equals <code>scale</code>, then image with size <code>scale</code> * 19 will be selected. Initially only scales 1 and 2 will be supported. At least one image must be specified. Note that 'details.path = foo' is equivalent to 'details.imageData = {'19': foo}'"
              },
              "tabId": {
                "type": "integer",
                "optional": true,
                "description": "Sets the sidebar icon for the tab specified by tabId. Automatically resets when the tab is closed."
              },
              "windowId": {
                "type": "integer",
                "optional": true,
                "minimum": -2,
                "description": "Sets the sidebar icon for the window specified by windowId."
              }
            }
          }
        ]
      },
      {
        "name": "setPanel",
        "type": "function",
        "description": "Sets the url to the html document to be opened in the sidebar when the user clicks on the sidebar action's icon.",
        "async": true,
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "tabId": {
                "type": "integer",
                "optional": true,
                "minimum": 0,
                "description": "Sets the sidebar url for the tab specified by tabId. Automatically resets when the tab is closed."
              },
              "windowId": {
                "type": "integer",
                "optional": true,
                "minimum": -2,
                "description": "Sets the sidebar url for the window specified by windowId."
              },
              "panel": {
                "choices": [{ "type": "string" }, { "type": "null" }],
                "description": "The url to the html file to show in a sidebar.  If set to the empty string (''), no sidebar is shown."
              }
            }
          }
        ]
      },
      {
        "name": "getPanel",
        "type": "function",
        "description": "Gets the url to the html document set as the panel for this sidebar action.",
        "async": true,
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "tabId": {
                "type": "integer",
                "optional": true,
                "description": "Specify the tab to get the panel from. If no tab nor window is specified, the global panel is returned."
              },
              "windowId": {
                "type": "integer",
                "optional": true,
                "minimum": -2,
                "description": "Specify the window to get the panel from. If no tab nor window is specified, the global panel is returned."
              }
            }
          }
        ]
      },
      {
        "name": "open",
        "type": "function",
        "requireUserInput": true,
        "description": "Opens the extension sidebar in the active window.",
        "async": true,
        "parameters": []
      },
      {
        "name": "close",
        "type": "function",
        "requireUserInput": true,
        "description": "Closes the extension sidebar in the active window if the sidebar belongs to the extension.",
        "async": true,
        "parameters": []
      },
      {
        "name": "toggle",
        "type": "function",
        "requireUserInput": true,
        "description": "Toggles the extension sidebar in the active window.",
        "async": true,
        "parameters": []
      },
      {
        "name": "isOpen",
        "type": "function",
        "description": "Checks whether the sidebar action is open.",
        "async": true,
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "windowId": {
                "type": "integer",
                "minimum": -2,
                "optional": true,
                "description": "Specify the window to get the openness from."
              }
            }
          }
        ]
      }
    ]
  }
]
PK