// 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;

// App type of the window, like browser or app. The type is an int but should
// be one of ash::AppType (see ash/public/cpp/app_types.h).
const string kAppType_Property = "ash:app-type";

// A bool to indicate whether this window should be replaced by a black
// rectangle in assistant screenshot for privacy purpose.
const string kBlockedForAssistantSnapshot_Property =
  "ash:blocked-for-assistant-snapshot";

// A bool to indicate whether the window can attach into another window. Used
// by tab-dragging.
const string kCanAttachToAnotherWindow_Property =
  "ash:can-attach-to-another-window";

// V1 apps can intercept system keys. This will let the app handle F-keys instead
// of the window manager.
const string kCanConsumeSystemKeys_Property =
  "ash:can-consume-system-keys";

// True if the shelf should be hidden when this window is put into fullscreen.
// Exposed because some windows want to explicitly opt-out of this.
const string kHideShelfWhenFullscreen_Property =
  "ash:hide-shelf-when-fullscreen";

// See ash::kImmersiveImpliedByFullscreen.
const string kImmersiveImpliedByFullscreen_Property =
  "ash:immersive-implied-by-fullscreen";

// See ash::kImmersiveIsActive.
const string kImmersiveIsActive_Property = "ash:immersive-is-active";

// See ash::kImmersiveTopContainerBoundsInScreen.
const string kImmersiveTopContainerBoundsInScreen_Property =
    "ash:immersive-top-container-bounds-in-screen";

// If true, the window is the target window for the tab-dragged window. The
// key is used by overview to show a highlight indication to indicate which
// overview window the dragged tabs will merge into when the user releases the
// pointer.
const string kIsDeferredTabDraggingTargetWindow_Property =
    "ash:is-deferred-tab-dragging-target-window";

// If true, the window is a browser window and its tab(s) are currently being
// dragged.
const string kIsDraggingTabs_Property = "ash:is-dragging-tabs";

// If true, the window is currently showing in overview mode.
const string kIsShowingInOverview_Property = "ash:is-showing-in-overview";

// A property key to store the address of the source window that the drag
// originated from if the window is currently in tab-dragging process.
const string kTabDraggingSourceWindow_Property =
    "ash:tab-dragging-source-window";

// A property key to store the window state type when the tab-dragging finishes.
const string kTabDroppedWindowStateType_Property =
    "ash:tab-dropped-window-state-type";

// This is put on windows to indicate that ash should perform auto management of
// window positions; when you open a second browser, ash will move the two to
// minimize overlap.
const string kWindowPositionManaged_Property =
  "ash:window-position-managed";

// A property key which stores the bounds to restore a window to. These take
// preference over the current bounds. This is used by e.g. the tablet mode
// window manager.
const string kRestoreBoundsOverride_Property =
  "ash:restore-bounds-override";

// A property key which stores the window state to restore a window to. These
// take preference over the current state if
// |kRestoreWindowStateTypeOverrideKey| is set. This is used by e.g. the tablet
// mode window manager.
const string kRestoreWindowStateTypeOverride_Property  =
  "ash:restore-window-state-type-override";

// The height of the window header, i.e. the inset between the frame and client
// view.
const string kTopViewInset_Property = "ash:top-view-inset";

// A boolean property to indicate a picture-in-picture window.
const string kIsWindowPip_Property = "ash:is-window-pip";
