files/en-us/mozilla/add-ons/webextensions/api/theme/onupdated/index.md
Fires when a theme supplied as a browser extension is applied or removed. Specifically:
theme.update() or theme.reset()This event is not fired for changes to the built-in themes.
browser.theme.onUpdated.addListener(listener)
browser.theme.onUpdated.removeListener(listener)
browser.theme.onUpdated.hasListener(listener)
Events have three functions:
addListener(listener)
removeListener(listener)
listener argument is the listener to remove.hasListener(listener)
listener is registered for this event. Returns true if it is listening, false otherwise.listener
updateInfo
object. An object containing two properties:
theme
object. If the event fired because an extension-supplied theme was removed, this is an empty object. If it fired because an extension-supplied theme was applied, then it is a {{WebExtAPIRef("theme.Theme")}} object representing the theme that was applied.windowId {{optional_inline}}
integer. The ID of the window in which the theme was updated. If this property is not present, the theme was updated in all windows.function handleUpdated(updateInfo) {
if (updateInfo.theme.colors) {
console.log(`Theme was applied: ${updateInfo.theme}`);
} else {
console.log(`Theme was removed`);
}
}
browser.theme.onUpdated.addListener(handleUpdated);
{{WebExtExamples}}
{{Compat}}