Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: mash/wm/property_util.cc

Issue 2029883002: Moves mash/wm into ash/mus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_static_assert
Patch Set: move comment Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mash/wm/property_util.h ('k') | mash/wm/resources/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2015 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.
4
5 #include "mash/wm/property_util.h"
6
7 #include <stdint.h>
8
9 #include "components/mus/public/cpp/property_type_converters.h"
10 #include "components/mus/public/cpp/window_property.h"
11 #include "mash/wm/shadow.h"
12 #include "ui/gfx/geometry/rect.h"
13 #include "ui/gfx/geometry/size.h"
14
15 namespace mash {
16 namespace wm {
17 namespace {
18
19 MUS_DEFINE_LOCAL_WINDOW_PROPERTY_KEY(Shadow*, kLocalShadowProperty, nullptr);
20 MUS_DEFINE_LOCAL_WINDOW_PROPERTY_KEY(bool, kWindowIsJankyProperty, false);
21
22 } // namespace
23
24 void SetWindowShowState(mus::Window* window, mus::mojom::ShowState show_state) {
25 window->SetSharedProperty<int32_t>(
26 mus::mojom::WindowManager::kShowState_Property,
27 static_cast<uint32_t>(show_state));
28 }
29
30 mus::mojom::ShowState GetWindowShowState(const mus::Window* window) {
31 if (window->HasSharedProperty(
32 mus::mojom::WindowManager::kShowState_Property)) {
33 return static_cast<mus::mojom::ShowState>(
34 window->GetSharedProperty<int32_t>(
35 mus::mojom::WindowManager::kShowState_Property));
36 }
37 return mus::mojom::ShowState::DEFAULT;
38 }
39
40 void SetWindowUserSetBounds(mus::Window* window, const gfx::Rect& bounds) {
41 if (bounds.IsEmpty()) {
42 window->ClearSharedProperty(
43 mus::mojom::WindowManager::kUserSetBounds_Property);
44 } else {
45 window->SetSharedProperty<gfx::Rect>(
46 mus::mojom::WindowManager::kUserSetBounds_Property, bounds);
47 }
48 }
49
50 gfx::Rect GetWindowUserSetBounds(const mus::Window* window) {
51 if (window->HasSharedProperty(
52 mus::mojom::WindowManager::kUserSetBounds_Property)) {
53 return window->GetSharedProperty<gfx::Rect>(
54 mus::mojom::WindowManager::kUserSetBounds_Property);
55 }
56 return gfx::Rect();
57 }
58
59 void SetWindowPreferredSize(mus::Window* window, const gfx::Size& size) {
60 window->SetSharedProperty<gfx::Size>(
61 mus::mojom::WindowManager::kPreferredSize_Property, size);
62 }
63
64 gfx::Size GetWindowPreferredSize(const mus::Window* window) {
65 if (window->HasSharedProperty(
66 mus::mojom::WindowManager::kPreferredSize_Property)) {
67 return window->GetSharedProperty<gfx::Size>(
68 mus::mojom::WindowManager::kPreferredSize_Property);
69 }
70 return gfx::Size();
71 }
72
73 ash::mojom::Container GetRequestedContainer(const mus::Window* window) {
74 if (window->HasSharedProperty(ash::mojom::kWindowContainer_Property)) {
75 return static_cast<ash::mojom::Container>(
76 window->GetSharedProperty<int32_t>(
77 ash::mojom::kWindowContainer_Property));
78 }
79 return ash::mojom::Container::USER_PRIVATE_WINDOWS;
80 }
81
82 int32_t GetResizeBehavior(const mus::Window* window) {
83 if (window->HasSharedProperty(
84 mus::mojom::WindowManager::kResizeBehavior_Property)) {
85 return window->GetSharedProperty<int32_t>(
86 mus::mojom::WindowManager::kResizeBehavior_Property);
87 }
88 return mus::mojom::kResizeBehaviorNone;
89 }
90
91 void SetRestoreBounds(mus::Window* window, const gfx::Rect& bounds) {
92 window->SetSharedProperty<gfx::Rect>(
93 mus::mojom::WindowManager::kRestoreBounds_Property, bounds);
94 }
95
96 gfx::Rect GetRestoreBounds(const mus::Window* window) {
97 if (window->HasSharedProperty(
98 mus::mojom::WindowManager::kRestoreBounds_Property)) {
99 return window->GetSharedProperty<gfx::Rect>(
100 mus::mojom::WindowManager::kRestoreBounds_Property);
101 }
102 return gfx::Rect();
103 }
104
105 void SetShadow(mus::Window* window, Shadow* shadow) {
106 window->SetLocalProperty(kLocalShadowProperty, shadow);
107 }
108
109 Shadow* GetShadow(const mus::Window* window) {
110 return window->GetLocalProperty(kLocalShadowProperty);
111 }
112
113 mus::mojom::WindowType GetWindowType(const mus::Window* window) {
114 if (window->HasSharedProperty(
115 mus::mojom::WindowManager::kWindowType_Property)) {
116 return static_cast<mus::mojom::WindowType>(
117 window->GetSharedProperty<int32_t>(
118 mus::mojom::WindowManager::kWindowType_Property));
119 }
120 return mus::mojom::WindowType::POPUP;
121 }
122
123 mus::mojom::WindowType GetWindowType(
124 const mus::Window::SharedProperties& properties) {
125 const auto iter =
126 properties.find(mus::mojom::WindowManager::kWindowType_Property);
127 if (iter != properties.end()) {
128 return static_cast<mus::mojom::WindowType>(
129 mojo::ConvertTo<int32_t>(iter->second));
130 }
131 return mus::mojom::WindowType::POPUP;
132 }
133
134 ui::wm::WindowType GetWmWindowType(const mus::Window* window) {
135 switch (GetWindowType(window)) {
136 case mus::mojom::WindowType::WINDOW:
137 return ui::wm::WINDOW_TYPE_NORMAL;
138
139 case mus::mojom::WindowType::PANEL:
140 return ui::wm::WINDOW_TYPE_PANEL;
141
142 case mus::mojom::WindowType::CONTROL:
143 return ui::wm::WINDOW_TYPE_CONTROL;
144
145 case mus::mojom::WindowType::WINDOW_FRAMELESS:
146 case mus::mojom::WindowType::POPUP:
147 case mus::mojom::WindowType::BUBBLE:
148 case mus::mojom::WindowType::DRAG:
149 return ui::wm::WINDOW_TYPE_POPUP;
150
151 case mus::mojom::WindowType::MENU:
152 return ui::wm::WINDOW_TYPE_MENU;
153
154 case mus::mojom::WindowType::TOOLTIP:
155 return ui::wm::WINDOW_TYPE_TOOLTIP;
156 }
157
158 return ui::wm::WINDOW_TYPE_UNKNOWN;
159 }
160
161 ash::mojom::AshWindowType GetAshWindowType(const mus::Window* window) {
162 if (!window->HasSharedProperty(ash::mojom::kAshWindowType_Property))
163 return ash::mojom::AshWindowType::COUNT;
164
165 return static_cast<ash::mojom::AshWindowType>(
166 window->GetSharedProperty<int32_t>(ash::mojom::kAshWindowType_Property));
167 }
168
169 base::string16 GetWindowTitle(const mus::Window* window) {
170 if (!window->HasSharedProperty(
171 mus::mojom::WindowManager::kWindowTitle_Property)) {
172 return base::string16();
173 }
174
175 return window->GetSharedProperty<base::string16>(
176 mus::mojom::WindowManager::kWindowTitle_Property);
177 }
178
179 mojo::Array<uint8_t> GetWindowAppIcon(const mus::Window* window) {
180 if (window->HasSharedProperty(
181 mus::mojom::WindowManager::kWindowAppIcon_Property)) {
182 return mojo::Array<uint8_t>::From(
183 window->GetSharedProperty<std::vector<uint8_t>>(
184 mus::mojom::WindowManager::kWindowAppIcon_Property));
185 }
186 return mojo::Array<uint8_t>();
187 }
188
189 void SetAppID(mus::Window* window, const base::string16& app_id) {
190 window->SetSharedProperty<base::string16>(
191 mus::mojom::WindowManager::kAppID_Property, app_id);
192 }
193
194 base::string16 GetAppID(const mus::Window* window) {
195 if (!window->HasSharedProperty(mus::mojom::WindowManager::kAppID_Property))
196 return base::string16();
197
198 return window->GetSharedProperty<base::string16>(
199 mus::mojom::WindowManager::kAppID_Property);
200 }
201
202 bool GetWindowIgnoredByShelf(mus::Window* window) {
203 return window->HasSharedProperty(
204 mus::mojom::WindowManager::kWindowIgnoredByShelf_Property) &&
205 window->GetSharedProperty<bool>(
206 mus::mojom::WindowManager::kWindowIgnoredByShelf_Property);
207 }
208
209 void SetWindowIsJanky(mus::Window* window, bool janky) {
210 window->SetLocalProperty(kWindowIsJankyProperty, janky);
211 }
212
213 bool IsWindowJanky(mus::Window* window) {
214 return window->GetLocalProperty(kWindowIsJankyProperty);
215 }
216
217 bool IsWindowJankyProperty(const void* key) {
218 return key == kWindowIsJankyProperty;
219 }
220
221 void SetAlwaysOnTop(mus::Window* window, bool value) {
222 window->SetSharedProperty<bool>(
223 mus::mojom::WindowManager::kAlwaysOnTop_Property, value);
224 }
225
226 bool IsAlwaysOnTop(mus::Window* window) {
227 return window->HasSharedProperty(
228 mus::mojom::WindowManager::kAlwaysOnTop_Property) &&
229 window->GetSharedProperty<bool>(
230 mus::mojom::WindowManager::kAlwaysOnTop_Property);
231 }
232
233 } // namespace wm
234 } // namespace mash
OLDNEW
« no previous file with comments | « mash/wm/property_util.h ('k') | mash/wm/resources/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698