blob: c41a84a15cc56fae2033aef797f56b4b8608861a [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module ash.mojom;
// A superset of ui.mojom.ShowState. Ash has more states than the general
// ui::ShowState enum. These need to be communicated back to chrome.
// The separate enum is defined here because we don't want to leak
// these type to ui/base until they're stable and we know for sure
// that they'll persist over time.
enum WindowStateType {
// States which correspond to ui.mojom.ShowState.
DEFAULT,
NORMAL,
MINIMIZED,
MAXIMIZED,
INACTIVE,
FULLSCREEN,
// Additional ash states.
LEFT_SNAPPED,
RIGHT_SNAPPED,
// A window is in this state when it is automatically placed and
// sized by the window manager. (it's newly opened, or pushed to the side
// due to new window, for example).
AUTO_POSITIONED,
// A window is pinned on top of other windows with fullscreenized.
// Corresponding shelf should be hidden, also most of windows other than the
// pinned one should be hidden.
PINNED,
TRUSTED_PINNED,
};
// The window's extended state. Maps to ash::aura::kWindowStateTypeKey.
const string kWindowStateType_Property = "ash:window-state-type";