pageAction.setIcon()
Sets the icon for the page action.
You can specify a single icon as either the path to an image file or a pageAction.ImageDataType
object.
You can specify multiple icons in different sizes by supplying a dictionary containing multiple paths or ImageData
objects. This means the icon doesn't have to be scaled for a device with a different pixel density.
This is an asynchronous function that returns a Promise
.
Syntax
let settingIcon = browser.pageAction.setIcon(
details // object
)
Parameters
details
-
object
. An object containing eitherimageData
orpath
properties, and atabId
property.imageData
Optional-
orpageAction.ImageDataType
object
. This is either a singleImageData
object or a dictionary object.Use a dictionary object to specify multiple
ImageData
objects in different sizes, so the icon does not have to be scaled for a device with a different pixel density. IfimageData
is a dictionary, the value of each property is anImageData
object, and its name is its size, like this:jslet settingIcon = browser.pageAction.setIcon({ imageData: { 16: image16, 32: image32, }, });
The browser will choose the image to use depending on the screen's pixel density. See Choosing icon sizes for more information on this.
path
Optional-
string
orobject
. This is either a relative path to an icon file or a dictionary object.Use a dictionary object to specify multiple icon files in different sizes, so the icon does not have to be scaled for a device with a different pixel density. If
path
is a dictionary, the value of each property is a relative path, and its name is its size, like this:jslet settingIcon = browser.pageAction.setIcon({ path: { 16: "path/to/image16.jpg", 32: "path/to/image32.jpg", }, });
The browser will choose the image to use depending on the screen's pixel density. See Choosing icon sizes for more information on this.
If
path
isnull
, this will reset the page action's icon to the icon that was given in thepage_action
manifest key.If
path
is""
, this will reset the icon to the browser's global default icon (that is, the icon used if no icon is given in thepage_action
manifest key).If
path
does not point to a valid icon, then no icon will be displayed. tabId
-
integer
. The ID of the tab whose icon you want to set.
Return value
A Promise
that will be fulfilled with no arguments once the icon has been set.
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | ||||||
---|---|---|---|---|---|---|---|
setIcon | |||||||
imageData | |||||||
The path and imageData properties of the details parameter can be set to null . |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- See implementation notes.
Examples
Set the icon for the page action when the user clicks it:
browser.pageAction.onClicked.addListener((tab) => {
browser.pageAction.setIcon({
tabId: tab.id,
path: "icons/icon-48.png",
});
});
Example extensions
Note:
This API is based on Chromium's chrome.pageAction
API. This documentation is derived from page_action.json
in the Chromium code.