windows

Interact with browser windows. You can use this API to get information about open windows, to open modify, and close windows. You can also listen for window open, close, and activate events.

Types

windows.WindowType
The type of browser window this is. Under some circumstances a Window may not be assigned type property, for example when querying closed windows from the sessions API.
windows.WindowState
The state of this browser window. Under some circumstances a Window may not be assigned state property, for example when querying closed windows from the sessions API.
windows.Window
This is an actual browser window.
windows.CreateType
Specifies what type of browser window to create. The 'panel' and 'detached_panel' types create a popup unless the '--enable-panels' flag is set.

Properties

windows.WINDOW_ID_NONE
The windowId value that represents the absence of a browser window.
windows.WINDOW_ID_CURRENT
The windowId value that represents the current window.

Functions

windows.get()
Gets details about a window.
windows.getCurrent()
Gets the current window.
windows.getLastFocused()
Gets the window that was most recently focused — typically the window 'on top'.
windows.getAll()
Gets all windows.
windows.create()
Creates (opens) a new browser with any optional sizing, position or default URL provided.
windows.update()
Updates the properties of a window. Specify only the properties that you want to change; unspecified properties will be left unchanged.
windows.remove()
Removes (closes) a window, and all the tabs inside it.

Events

windows.onCreated
Fired when a window is created.
windows.onRemoved
Fired when a window is removed (closed).
windows.onFocusChanged
Fired when the currently focused window changes. Will be windows.WINDOW_ID_NONE if all browser windows have lost focus. Note: On some Linux window managers, WINDOW_ID_NONE will always be sent immediately preceding a switch from one browser window to another.

Browser compatibility

EdgeFirefoxChromeOpera
CreateType?45.0Yes33
WINDOW_ID_CURRENT?45.0Yes33
WINDOW_ID_NONE?45.0Yes33
Window?45.0Yes33
WindowState?45.0Yes33
WindowType?45.0Yes33
create?45.0Yes33
get?45.0Yes33
getAll?45.0Yes33
getCurrent?45.0Yes33
getLastFocused?45.0Yes33
onCreated?45.0Yes33
onFocusChanged?45.0Yes33
onRemoved?45.0Yes33
remove?45.0Yes33
update?45.0Yes33
Firefox
CreateTypeNo
WINDOW_ID_CURRENTNo
WINDOW_ID_NONENo
WindowNo
WindowStateNo
WindowTypeNo
createNo
getNo
getAllNo
getCurrentNo
getLastFocusedNo
onCreatedNo
onFocusChangedNo
onRemovedNo
removeNo
updateNo

Chrome incompatibilities

  • Firefox does not support:
    • the focused, type, or state options in create()
    • any options in update() except focused
  • In Firefox onFocusChanged will trigger multiple times for a given focus change.

Acknowledgements

This API is based on Chromium's chrome.windows API. This documentation is derived from windows.json in the Chromium code.

Document Tags and Contributors

 Contributors to this page: wbamberg, bsilverberg
 Last updated by: wbamberg,