↑ arvau

MDN / theme.update()

Updates the browser theme according to the content of the object.

To use this method, an extension must request the “theme” permission in its manifest.json file.

Syntax

browser.theme.update(
  windowId,    // integer
  theme        // object
)

Parameters

  • windowId

    • : integer. The ID of a window. If this is provided, the theme is applied only to that window. If it is omitted, the theme is applied to all windows.

    theme

    • : object. A object specifying values for the UI elements you want to modify.

Examples

Sets the browser theme to use a sun graphic with a complementary background color:

const sunTheme = {
  images: {
    theme_frame: "sun.jpg",
  },
  colors: {
    frame: "#CF723F",
    tab_background_text: "#111111",
  },
};

browser.theme.update(sunTheme);

Set the theme for the focused window only:

const day = {
  images: {
    theme_frame: "sun.jpg",
  },
  colors: {
    frame: "#CF723F",
    tab_background_text: "#111111",
  },
};

browser.menus.create({
  id: "set-theme",
  title: "set theme",
  contexts: ["all"],
});

async function updateThemeForCurrentWindow() {
  let currentWindow = await browser.windows.getLastFocused();
  browser.theme.update(currentWindow.id, day);
}

browser.menus.onClicked.addListener(updateThemeForCurrentWindow);

Browser compatibility