File: aura_constants.h

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (224 lines) | stat: -rw-r--r-- 10,601 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_AURA_CLIENT_AURA_CONSTANTS_H_
#define UI_AURA_CLIENT_AURA_CONSTANTS_H_

#include <stdint.h>

#include <string>
#include <vector>

#include "third_party/skia/include/core/SkColor.h"
#include "ui/aura/aura_export.h"
#include "ui/aura/window.h"
#include "ui/base/mojom/ui_base_types.mojom-shared.h"
#include "ui/base/mojom/window_show_state.mojom-forward.h"
#include "ui/base/ui_base_types.h"
#include "ui/gfx/native_widget_types.h"

namespace gfx {
class ImageSkia;
class Rect;
class Size;
class SizeF;
}

namespace ui {
struct OwnedWindowAnchor;
}

namespace aura {
namespace client {
class FocusClient;

// Values used with property key kResizeBehaviorKey.
constexpr int kResizeBehaviorNone = 0;
constexpr int kResizeBehaviorCanResize = 1 << 0;
constexpr int kResizeBehaviorCanMaximize = 1 << 1;
constexpr int kResizeBehaviorCanMinimize = 1 << 2;
constexpr int kResizeBehaviorCanFullscreen = 1 << 3;

// A value used to represent an unassigned workspace for `kWindowWorkspaceKey`.
constexpr int kWindowWorkspaceUnassignedWorkspace = -1;

// A value used to represent a window being assigned to all workspaces for
// `kWindowWorkspaceKey`.
constexpr int kWindowWorkspaceVisibleOnAllWorkspaces = -2;

// Alphabetical sort.

// A property key to store whether accessibility touch exploration gets handled
// by the window and all touches pass through directly.
AURA_EXPORT extern const WindowProperty<bool>* const
    kAccessibilityTouchExplorationPassThrough;

// A property key to store whether activation on pointer event is enabled or
// not. The default value is true, which means windows are activated when a
// pointer down event occurs on them.
AURA_EXPORT extern const WindowProperty<bool>* const kActivateOnPointerKey;

// A property key to store whether animations are disabled for the window. Type
// of value is an int.
AURA_EXPORT extern const WindowProperty<bool>* const kAnimationsDisabledKey;

// A property key to store the app icon, typically larger for shelf icons, etc.
// This is not transported to the window service.
AURA_EXPORT extern const WindowProperty<gfx::ImageSkia*>* const kAppIconKey;

// A property key to store the aspect ratio of the window.
AURA_EXPORT extern const WindowProperty<gfx::SizeF*>* const kAspectRatio;

// A property key to store the avatar icon that will be displayed on the window
// frame to indicate the owner of the window when needed.
AURA_EXPORT extern const WindowProperty<gfx::ImageSkia*>* const kAvatarIconKey;

// A property key to indicate if a client window's layer is drawn.
// It is passed to the Window Service side for the occlusion tracker to process
// since the info is only available at the client side.
AURA_EXPORT extern const WindowProperty<bool>* const kWindowLayerDrawn;

// A property key to store if a window is a constrained window or not.
AURA_EXPORT extern const WindowProperty<bool>* const kConstrainedWindowKey;

// A property key to store if a window was created by a user gesture.
AURA_EXPORT extern const WindowProperty<bool>* const kCreatedByUserGesture;

// A property key to indicate the uuid of the desk this window belongs to.
AURA_EXPORT extern const WindowProperty<std::string*>* const kDeskUuidKey;

// A property key to indicate that a window should show that it deserves
// attention.
AURA_EXPORT extern const WindowProperty<bool>* const kDrawAttentionKey;

// A property key to store the focus client on the window.
AURA_EXPORT extern const WindowProperty<FocusClient*>* const kFocusClientKey;

// A property key to store the headless window bounds. This lets
// RenderWidgetHostViewAura find the requested headless window bounds which may
// be different from platform window bounds.
AURA_EXPORT extern const WindowProperty<gfx::Rect*>* const kHeadlessBoundsKey;

// A property key to store the host window of a window. This lets
// WebContentsViews find the windows that should constrain NPAPI plugins.
AURA_EXPORT extern const WindowProperty<Window*>* const kHostWindowKey;

// The modal parent of a child modal window.
AURA_EXPORT extern const WindowProperty<Window*>* const kChildModalParentKey;

// A property key to store the window modality.
AURA_EXPORT extern const WindowProperty<ui::mojom::ModalType>* const kModalKey;

// A property key to store the name of the window; mostly used for debugging.
AURA_EXPORT extern const WindowProperty<std::string*>* const kNameKey;

// A property key to store anchor to attach an owned anchored window to (such
// as tooltips, menus, etc).
AURA_EXPORT extern const WindowProperty<struct ui::OwnedWindowAnchor*>* const
    kOwnedWindowAnchor;

// A property key to store if a window drop shadow and resize shadow of a
// window are exactly the same as the window bounds, i.e. if resizing a window
// immediately resizes its shadows. Generally, resizing and content rendering
// happen in server side without any client involved, so without any delay in
// communication this value should be true: shadow bounds are the same as
// window bounds which define content bounds. For other clients' windows with
// server-controlled shadow but client-controlled content, this value should be
// false to ensure that the shadow is not immediately resized along with window
// in server side. Instead, the shadow waits for client content to catch up with
// the new window bounds first to avoid a gap between shadow and content
// (crbug.com/1199497).
// TODO(crbug.com/40197040): all exo clients that use server side resize shadow
// should have this property set to true.
AURA_EXPORT extern const WindowProperty<bool>* const kUseWindowBoundsForShadow;

// A property key to store the accessible parent of a native view. This is
// used to allow WebContents to access their accessible parents for use in
// walking up the accessibility tree via platform APIs.
AURA_EXPORT extern const aura::WindowProperty<gfx::NativeViewAccessible>* const
    kParentNativeViewAccessibleKey;

// A property key to store the resize behavior, which is a bitmask of the
// ResizeBehavior values.
AURA_EXPORT extern const WindowProperty<int>* const kResizeBehaviorKey;

// A property key to store the restore bounds in screen coordinates for a
// window.
AURA_EXPORT extern const WindowProperty<gfx::Rect*>* const kRestoreBoundsKey;

// A property key to store ui::mojom::WindowShowState for a window.
// See ui/base/ui_base_types.h for its definition.
AURA_EXPORT extern const WindowProperty<ui::mojom::WindowShowState>* const
    kShowStateKey;

// A property key to store the display id on which to put the fullscreen window.
// display::kInvalidDisplayId means use the display the window is currently on.
AURA_EXPORT extern const WindowProperty<int64_t>* const
    kFullscreenTargetDisplayIdKey;

// A property key to store ui::mojom::WindowShowState for a window to restore
// back to from the current window show state.
AURA_EXPORT extern const WindowProperty<ui::mojom::WindowShowState>* const
    kRestoreShowStateKey;

// A property key to indicate if a window is currently being restored. Normally
// restoring a window equals to changing window's state to normal window state.
// This property will be used on Chrome OS to decide if we should use window
// state restore stack to decide which window state the window should restore
// back to, and it's not always the normal window state. As an example,
// unminimizing a window will restore the window back to its pre-minimized
// window state, which can have a non-normal window state. Note this property
// does not have any effort on any other operation systems except Chrome OS.
AURA_EXPORT extern const WindowProperty<bool>* const kIsRestoringKey;

// A property key to store key event dispatch policy. The default value is
// false, which means IME receives a key event in PREDISPATCH phace before a
// window receives it. If it's true, a window receives a key event before IME.
AURA_EXPORT extern const WindowProperty<bool>* const kSkipImeProcessing;

// A property key to store the title of the window; sometimes shown to users.
AURA_EXPORT extern const WindowProperty<std::u16string*>* const kTitleKey;

// The inset of the topmost view in the client view from the top of the
// non-client view. The topmost view depends on the window type. The topmost
// view is the tab strip for tabbed browser windows, the toolbar for popups,
// the web contents for app windows and varies for fullscreen windows.
AURA_EXPORT extern const WindowProperty<int>* const kTopViewInset;

// A property key to store the window icon, typically 16x16 for title bars.
AURA_EXPORT extern const WindowProperty<gfx::ImageSkia*>* const kWindowIconKey;

// The corner radius of a window in DIPs. Currently only used for shadows.
// Default is -1, meaning "unspecified". 0 Ensures corners are square.
AURA_EXPORT extern const WindowProperty<int>* const kWindowCornerRadiusKey;

// A property key to indicate a desk index of a workspace this window belongs
// to. The default value is kWindowWorkspaceUnassignedWorkspace.
AURA_EXPORT extern const WindowProperty<int>* const kWindowWorkspaceKey;

// A property key to store the z-ordering.
AURA_EXPORT extern const WindowProperty<ui::ZOrderLevel>* const kZOrderingKey;

}  // namespace client
}  // namespace aura

// Declare template specializations introduced by Aura here to make sure that
// the compiler knows about them before the first template instance use. Using a
// template instance before its specialization is declared in a translation unit
// is an error.
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, aura::client::FocusClient*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, aura::Window*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, gfx::ImageSkia*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, gfx::NativeViewAccessible)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, gfx::Rect*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, gfx::Size*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, gfx::SizeF*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, int64_t)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, std::string*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, ui::mojom::ModalType)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, ui::mojom::WindowShowState)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, ui::OwnedWindowAnchor*)
DECLARE_EXPORTED_UI_CLASS_PROPERTY_TYPE(AURA_EXPORT, ui::ZOrderLevel)

#endif  // UI_AURA_CLIENT_AURA_CONSTANTS_H_