1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_WM_WINDOW_PROPERTIES_H_
6 #define ASH_WM_WINDOW_PROPERTIES_H_
8 #include "ash/ash_export.h"
9 #include "ash/wm/property_util.h"
10 #include "ui/aura/window.h"
11 #include "ui/base/ui_base_types.h"
20 class RootWindowController
;
22 // Shell-specific window property keys.
26 // A property key to indicate that an in progress drag should be continued
27 // after the window is reparented to another container.
28 extern const aura::WindowProperty
<bool>* const kContinueDragAfterReparent
;
30 // A property key to store display_id an aura::RootWindow is mapped to.
31 extern const aura::WindowProperty
<int64
>* const kDisplayIdKey
;
33 // A property key to indicate whether there is any chrome at all that cannot be
34 // hidden when the window is fullscreen. This is unrelated to whether the full
35 // chrome can be revealed by hovering the mouse at the top of the screen.
36 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
37 kFullscreenUsesMinimalChromeKey
;
39 // A property key to disable the frame painter policy for solo windows.
40 // It is only available for root windows.
41 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
42 kIgnoreSoloWindowFramePainterPolicy
;
44 // True if the window is ignored by the shelf layout manager for purposes of
45 // darkening the shelf.
46 extern const aura::WindowProperty
<bool>* const
49 // True if this window is an attached panel.
50 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const kPanelAttachedKey
;
52 extern const aura::WindowProperty
<RootWindowController
*>* const
53 kRootWindowControllerKey
;
55 // RootWindow property to indicate if the window in the active workspace should
56 // use the transparent "solo-window" header style.
57 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
60 // If this is set to true, the window stays in the same root window
61 // even if the bounds outside of its root window is set.
62 // This is exported as it's used in the tests.
63 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
64 kStayInSameRootWindowKey
;
66 // A property key to remember if a windows position or size was changed by a
68 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
69 kUserChangedWindowPositionOrSizeKey
;
71 // A property to remember the window position which was set before the
72 // auto window position manager changed the window bounds, so that it can get
73 // restored when only this one window gets shown.
74 ASH_EXPORT
extern const aura::WindowProperty
<gfx::Rect
*>* const
75 kPreAutoManagedWindowBoundsKey
;
77 // Property to tell if the container uses the screen coordinates.
78 extern const aura::WindowProperty
<bool>* const kUsesScreenCoordinatesKey
;
80 // A property key to remember if a windows position can be managed by the
81 // workspace manager or not.
82 ASH_EXPORT
extern const aura::WindowProperty
<bool>* const
83 kWindowPositionManagedKey
;
85 // A property key to tell the workspace layout manager to always restore the
86 // window to the restore-bounds (false by default).
87 extern const aura::WindowProperty
<bool>* const kWindowRestoresToRestoreBounds
;
89 // True if the window is controlled by the workspace manager.
90 extern const aura::WindowProperty
<bool>* const
91 kWindowTrackedByWorkspaceKey
;
95 } // namespace internal
98 #endif // ASH_WM_WINDOW_PROPERTIES_H_