// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. [ { "namespace": "pageAction", "description": "Use the <code>chrome.pageAction</code> API to put icons inside the address bar. Page actions represent actions that can be taken on the current page, but that aren't applicable to all pages.", "types": [ { "id": "ImageDataType", "type": "object", "isInstanceOf": "ImageData", "additionalProperties": { "type": "any" }, "description": "Pixel data for an image. Must be an ImageData object (for example, from a <code>canvas</code> element)." } ], "functions": [ { "name": "show", "type": "function", "description": "Shows the page action. The page action is shown whenever the tab is selected.", "parameters": [ {"type": "integer", "name": "tabId", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."} ] }, { "name": "hide", "type": "function", "description": "Hides the page action.", "parameters": [ {"type": "integer", "name": "tabId", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."} ] }, { "name": "setTitle", "type": "function", "description": "Sets the title of the page action. This is displayed in a tooltip over the page action.", "parameters": [ { "name": "details", "type": "object", "properties": { "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."}, "title": {"type": "string", "description": "The tooltip string."} } } ] }, { "name": "getTitle", "type": "function", "description": "Gets the title of the page action.", "parameters": [ { "name": "details", "type": "object", "properties": { "tabId": { "type": "integer", "description": "Specify the tab to get the title from." } } }, { "type": "function", "name": "callback", "parameters": [ { "name": "result", "type": "string" } ] } ] }, { "name": "setIcon", "type": "function", "description": "Sets the icon for the page 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 <b>path</b> or the <b>imageData</b> property must be specified.", "parameters": [ { "name": "details", "type": "object", "properties": { "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."}, "imageData": { "choices": [ { "$ref": "ImageDataType" }, { "type": "object", "properties": { "19": {"$ref": "ImageDataType", "optional": true}, "38": {"$ref": "ImageDataType", "optional": true} } } ], "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", "properties": { "19": {"type": "string", "optional": true}, "38": {"type": "string", "optional": true} } } ], "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}'" }, "iconIndex": { "type": "integer", "minimum": 0, "description": "<b>Deprecated.</b> This argument is ignored.", "optional": true } } }, { "type": "function", "name": "callback", "optional": true, "parameters": [] } ] }, { "name": "setPopup", "type": "function", "description": "Sets the html document to be opened as a popup when the user clicks on the page action's icon.", "parameters": [ { "name": "details", "type": "object", "properties": { "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."}, "popup": { "type": "string", "description": "The html file to show in a popup. If set to the empty string (''), no popup is shown." } } } ] }, { "name": "getPopup", "type": "function", "description": "Gets the html document set as the popup for this page action.", "parameters": [ { "name": "details", "type": "object", "properties": { "tabId": { "type": "integer", "description": "Specify the tab to get the popup from." } } }, { "type": "function", "name": "callback", "parameters": [ { "name": "result", "type": "string" } ] } ] } ], "events": [ { "name": "onClicked", "type": "function", "description": "Fired when a page action icon is clicked. This event will not fire if the page action has a popup.", "parameters": [ { "name": "tab", "$ref": "tabs.Tab" } ] } ] } ]