/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; this.EXPORTED_SYMBOLS = ["WindowState"]; /** * Marionette representation of the {@link ChromeWindow} window state. * * @enum {string} */ const WindowState = { Maximized: "maximized", Minimized: "minimized", Normal: "normal", Fullscreen: "fullscreen", /** * Converts {@link nsIDOMChromeWindow.windowState} to WindowState. * * @param {number} windowState * Attribute from {@link nsIDOMChromeWindow.windowState}. * * @return {WindowState} * JSON representation. * * @throws {TypeError} * If windowState was unknown. */ from(windowState) { switch (windowState) { case 1: return WindowState.Maximized; case 2: return WindowState.Minimized; case 3: return WindowState.Normal; case 4: return WindowState.Fullscreen; default: throw new TypeError(`Unknown window state: ${windowState}`); } }, }; this.WindowState = WindowState;