web_extensions / latest / api / windows / update.html /

windows.update()

Updates the properties of a window. Use this to move, resize, and (un)focus a window, etc.

This is an asynchronous function that returns a Promise.

Syntax

let updating = browser.windows.update(
  windowId,              // integer
  updateInfo             // object
)

Parameters

windowId

integer. ID of the window to update.

updateInfo

object. Object containing the properties to update.

drawAttention Optional

boolean. If true, causes the window to be displayed in a manner that draws the user's attention to the window, without changing the focused window. The effect lasts until the user changes focus to the window. This option has no effect if the window already has focus. Set to false to cancel a previous drawAttention request.

focused Optional

boolean. If true, brings the window to the front. If false, brings the next window in the z-order to the front.

height Optional

integer. The height to resize the window to in pixels. This value is ignored for panels.

left Optional

integer. The offset from the left edge of the screen to move the window to in pixels. This value is ignored for panels.

state Optional

windows.WindowState. The new state of the window. The minimized, maximized and fullscreen states cannot be combined with left, top, width or height.

titlePreface Optional

string. Use this to add a string to the beginning of the browser window's title. Depending on the underlying operating system, this might not work on browser windows that don't have a title (such as about:blank in Firefox).

top Optional

integer. The offset from the top edge of the screen to move the window to in pixels. This value is ignored for panels.

width Optional

integer. The width to resize the window to in pixels. This value is ignored for panels.

Return value

A Promise that will be fulfilled with a windows.Window object containing the details of the updated window. If any error occurs, the promise will be rejected with an error message.

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
update
Yes
14
45
?
Yes
14
?
?
No
?
15
?
drawAttention
Yes
79
45
?
Yes
No
?
?
No
?
No
?
focused
Yes
14
45
?
Yes
14
?
?
No
?
15
update() will not switch between side-by-side Safari on iPadOS.
?
height
Yes
14
45
?
Yes
14
?
?
No
?
No
?
left
Yes
79
45
?
Yes
14
?
?
No
?
No
?
state
Yes
14
45
?
Yes
14
?
?
No
?
No
?
titlePreface
No
No
56
?
No
No
?
?
No
?
No
?
top
Yes
79
45
?
Yes
14
?
?
No
?
No
?
width
Yes
14
45
?
Yes
14
?
?
No
?
No
?

Examples

When the user clicks a browser action's icon, move the window to the top left corner:

function onUpdated(windowInfo) {
  console.log(`Updated window: ${windowInfo.id}`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

browser.browserAction.onClicked.addListener((tab) => {

  let updating = browser.windows.update(tab.windowId, {
    left: 0,
    top: 0
  });
  updating.then(onUpdated, onError);

});

Example extensions

Note: This API is based on Chromium's chrome.windows API. This documentation is derived from windows.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–2022 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/windows/update