W3cubDocs

/Web Extensions

browserAction.setBadgeBackgroundColor()

Sets the background color for the badge. Tabs without a specific badge background color will inherit the global badge background color, which defaults to [217, 0, 0, 255] in Firefox.

From Firefox 63, unless the badge text color is explicitly set using browserAction.setBadgeTextColor(), then the badge text color will be automatically set to black or white so as to maximize contrast with the specified badge background color. For example, if you set the badge background color to white, the default badge text color will be set to black, and vice versa.

Other browsers always use a white text color, so setting a dark background may be preferable to ensure the text is readable.

Syntax

browser.browserAction.setBadgeBackgroundColor(
  details // object
)

Parameters

details
object.
color
The color, specified as one of:
  • a string: any CSS <color> value, for example "red", "#FF0000", or "rgb(255,0,0)". If the string is not a valid color, the returned promise will be rejected and the background color won't be altered.
  • a browserAction.ColorArray object.
  • null. If a tabId is specified, it removes the tab-specific badge background color so that the tab inherits the global badge background color. Otherwise it reverts the global badge background color to the default value.
tabIdOptional
integer. Sets the badge background color only for the given tab. The color is reset when the user navigates this tab to a new page.
windowIdOptional
integer. Sets the badge background color only for the given tab.
  • If windowId and tabId are both supplied, the function fails and the color is not set.
  • If windowId and tabId are both omitted, the global badge background color is set instead.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
setBadgeBackgroundColor
Yes
14
45
45-58
Tab-specific badge background color is not cleared when a new page is loaded.
?
Yes
14
The API exists, but has no effect.
?
?
79
?
?
?
null
No
No
59
?
No
No
?
?
79
?
?
?
string
Yes
79
Yes
Before Firefox 59, invalid color strings behaved as null.
?
Yes
No
?
?
79
?
?
?

The default color in Firefox is: [217, 0, 0, 255].

Examples

A background color that starts off as red, and turns green when the browser action is clicked:

browser.browserAction.setBadgeText({text: "1234"});
browser.browserAction.setBadgeBackgroundColor({color: "red"});

browser.browserAction.onClicked.addListener(()=> {
  browser.browserAction.setBadgeBackgroundColor({color: "green"});
});

Set the badge background color only for the active tab:

browser.browserAction.setBadgeText({text: "1234"});
browser.browserAction.setBadgeBackgroundColor({color: "red"});

browser.browserAction.onClicked.addListener((tab)=> {
  browser.browserAction.setBadgeBackgroundColor({
    color: "green",
    tabId: tab.id
  });
});

Example extensions

Note: This API is based on Chromium's chrome.browserAction API. This documentation is derived from browser_action.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeBackgroundColor