MDN will be in maintenance mode on Friday September 22nd, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.

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.


var updating =
  windowId,              // integer
  updateInfo             // object


integer. ID of the window to update.
object. Object containing the properties to update.
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.
boolean. If true, brings the window to the front. If false, brings the next window in the z-order to the front.
integer. The height to resize the window to in pixels. This value is ignored for panels.
integer. The offset from the left edge of the screen to move the window to in pixels. This value is ignored for panels.
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).
integer. The offset from the top edge of the screen to move the window to in pixels. This value is ignored for panels.
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

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic supportYesYes45NoYes


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

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

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

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

  var updating =, {
    left: 0,
    top: 0
  updating.then(onUpdated, onError);


Example extensions


This API is based on Chromium's 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.

Document Tags and Contributors

 Contributors to this page: wbamberg, Makyen, chrisdavidmills
 Last updated by: wbamberg,