Index: ash/mus/property_util.cc |
diff --git a/ash/mus/property_util.cc b/ash/mus/property_util.cc |
index 10292d0ed224c86645253f8ad48387140862c25e..4514d586ca2cd5d14f17c2933551d4288d99f95a 100644 |
--- a/ash/mus/property_util.cc |
+++ b/ash/mus/property_util.cc |
@@ -4,272 +4,63 @@ |
#include "ash/mus/property_util.h" |
-#include <stdint.h> |
- |
-#include "ash/mus/shadow.h" |
#include "services/ui/public/cpp/property_type_converters.h" |
-#include "services/ui/public/cpp/window_property.h" |
#include "services/ui/public/interfaces/window_manager.mojom.h" |
#include "ui/display/types/display_constants.h" |
#include "ui/gfx/geometry/rect.h" |
#include "ui/gfx/geometry/size.h" |
-namespace { |
- |
-MUS_DEFINE_LOCAL_WINDOW_PROPERTY_KEY(ash::mus::Shadow*, |
- kLocalShadowProperty, |
- nullptr); |
-MUS_DEFINE_LOCAL_WINDOW_PROPERTY_KEY(bool, kWindowIsJankyProperty, false); |
- |
-} // namespace |
- |
namespace ash { |
namespace mus { |
-void SetWindowShowState(ui::Window* window, ui::mojom::ShowState show_state) { |
- window->SetSharedProperty<int32_t>( |
- ui::mojom::WindowManager::kShowState_Property, |
- static_cast<uint32_t>(show_state)); |
-} |
- |
-ui::mojom::ShowState GetWindowShowState(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kShowState_Property)) { |
- return static_cast<ui::mojom::ShowState>(window->GetSharedProperty<int32_t>( |
- ui::mojom::WindowManager::kShowState_Property)); |
- } |
- return ui::mojom::ShowState::DEFAULT; |
-} |
- |
-void SetWindowUserSetBounds(ui::Window* window, const gfx::Rect& bounds) { |
- if (bounds.IsEmpty()) { |
- window->ClearSharedProperty( |
- ui::mojom::WindowManager::kUserSetBounds_Property); |
- } else { |
- window->SetSharedProperty<gfx::Rect>( |
- ui::mojom::WindowManager::kUserSetBounds_Property, bounds); |
- } |
-} |
- |
-gfx::Rect GetWindowUserSetBounds(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kUserSetBounds_Property)) { |
- return window->GetSharedProperty<gfx::Rect>( |
- ui::mojom::WindowManager::kUserSetBounds_Property); |
- } |
- return gfx::Rect(); |
-} |
- |
-void SetWindowPreferredSize(ui::Window* window, const gfx::Size& size) { |
- window->SetSharedProperty<gfx::Size>( |
- ui::mojom::WindowManager::kPreferredSize_Property, size); |
-} |
- |
-gfx::Size GetWindowPreferredSize(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kPreferredSize_Property)) { |
- return window->GetSharedProperty<gfx::Size>( |
- ui::mojom::WindowManager::kPreferredSize_Property); |
- } |
- return gfx::Size(); |
+int64_t GetInitialDisplayId(const InitProperties& properties) { |
+ auto iter = |
+ properties.find(ui::mojom::WindowManager::kInitialDisplayId_Property); |
+ return iter == properties.end() ? display::kInvalidDisplayId |
+ : mojo::ConvertTo<int64_t>(iter->second); |
} |
-bool GetRequestedContainer(const ui::Window* window, int* container_id) { |
- if (!window->HasSharedProperty( |
- ui::mojom::WindowManager::kInitialContainerId_Property)) |
+bool GetInitialContainerId(const InitProperties& properties, |
+ int* container_id) { |
+ auto iter = |
+ properties.find(ui::mojom::WindowManager::kInitialContainerId_Property); |
+ if (iter == properties.end()) |
return false; |
- *container_id = window->GetSharedProperty<int32_t>( |
- ui::mojom::WindowManager::kInitialContainerId_Property); |
+ *container_id = mojo::ConvertTo<int32_t>(iter->second); |
return true; |
} |
-void SetResizeBehavior(ui::Window::SharedProperties* properties, |
- int32_t resize_behavior) { |
- (*properties)[ui::mojom::WindowManager::kResizeBehavior_Property] = |
- mojo::ConvertTo<std::vector<uint8_t>>(resize_behavior); |
-} |
- |
-int32_t GetResizeBehavior(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kResizeBehavior_Property)) { |
- return window->GetSharedProperty<int32_t>( |
- ui::mojom::WindowManager::kResizeBehavior_Property); |
- } |
- return ui::mojom::kResizeBehaviorNone; |
-} |
- |
-void SetRestoreBounds(ui::Window* window, const gfx::Rect& bounds) { |
- window->SetSharedProperty<gfx::Rect>( |
- ui::mojom::WindowManager::kRestoreBounds_Property, bounds); |
-} |
- |
-gfx::Rect GetRestoreBounds(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kRestoreBounds_Property)) { |
- return window->GetSharedProperty<gfx::Rect>( |
- ui::mojom::WindowManager::kRestoreBounds_Property); |
- } |
- return gfx::Rect(); |
-} |
- |
-void SetShadow(ui::Window* window, Shadow* shadow) { |
- window->SetLocalProperty(kLocalShadowProperty, shadow); |
-} |
- |
-Shadow* GetShadow(const ui::Window* window) { |
- return window->GetLocalProperty(kLocalShadowProperty); |
-} |
- |
-ui::mojom::WindowType GetWindowType(const ui::Window* window) { |
- if (window->HasSharedProperty( |
- ui::mojom::WindowManager::kWindowType_Property)) { |
- return static_cast<ui::mojom::WindowType>( |
- window->GetSharedProperty<int32_t>( |
- ui::mojom::WindowManager::kWindowType_Property)); |
- } |
- return ui::mojom::WindowType::POPUP; |
-} |
- |
-ui::mojom::WindowType GetWindowType( |
- const ui::Window::SharedProperties& properties) { |
- const auto iter = |
- properties.find(ui::mojom::WindowManager::kWindowType_Property); |
- if (iter != properties.end()) { |
- return static_cast<ui::mojom::WindowType>( |
- mojo::ConvertTo<int32_t>(iter->second)); |
- } |
- return ui::mojom::WindowType::POPUP; |
-} |
- |
-ui::wm::WindowType GetWmWindowType(const ui::Window* window) { |
- switch (GetWindowType(window)) { |
- case ui::mojom::WindowType::WINDOW: |
- return ui::wm::WINDOW_TYPE_NORMAL; |
- |
- case ui::mojom::WindowType::PANEL: |
- return ui::wm::WINDOW_TYPE_PANEL; |
- |
- case ui::mojom::WindowType::CONTROL: |
- return ui::wm::WINDOW_TYPE_CONTROL; |
- |
- case ui::mojom::WindowType::WINDOW_FRAMELESS: |
- case ui::mojom::WindowType::POPUP: |
- case ui::mojom::WindowType::BUBBLE: |
- case ui::mojom::WindowType::DRAG: |
- return ui::wm::WINDOW_TYPE_POPUP; |
- |
- case ui::mojom::WindowType::MENU: |
- return ui::wm::WINDOW_TYPE_MENU; |
- |
- case ui::mojom::WindowType::TOOLTIP: |
- return ui::wm::WINDOW_TYPE_TOOLTIP; |
- |
- case ui::mojom::WindowType::UNKNOWN: |
- return ui::wm::WINDOW_TYPE_UNKNOWN; |
- } |
- |
- return ui::wm::WINDOW_TYPE_UNKNOWN; |
-} |
- |
-mojom::AshWindowType GetAshWindowType(const ui::Window* window) { |
- if (!window->HasSharedProperty(mojom::kAshWindowType_Property)) |
- return mojom::AshWindowType::COUNT; |
- |
- return static_cast<mojom::AshWindowType>( |
- window->GetSharedProperty<int32_t>(mojom::kAshWindowType_Property)); |
-} |
- |
-void SetWindowTitle(ui::Window* window, base::string16 title) { |
- window->SetSharedProperty<base::string16>( |
- ui::mojom::WindowManager::kWindowTitle_Property, title); |
-} |
- |
-base::string16 GetWindowTitle(const ui::Window* window) { |
- if (!window->HasSharedProperty( |
- ui::mojom::WindowManager::kWindowTitle_Property)) { |
- return base::string16(); |
- } |
- |
- return window->GetSharedProperty<base::string16>( |
- ui::mojom::WindowManager::kWindowTitle_Property); |
-} |
- |
-void SetAppID(ui::Window* window, const base::string16& app_id) { |
- window->SetSharedProperty<base::string16>( |
- ui::mojom::WindowManager::kAppID_Property, app_id); |
-} |
- |
-base::string16 GetAppID(const ui::Window* window) { |
- if (!window->HasSharedProperty(ui::mojom::WindowManager::kAppID_Property)) |
- return base::string16(); |
- |
- return window->GetSharedProperty<base::string16>( |
- ui::mojom::WindowManager::kAppID_Property); |
-} |
- |
-bool GetWindowIgnoredByShelf(ui::Window* window) { |
- return window->HasSharedProperty( |
- ui::mojom::WindowManager::kWindowIgnoredByShelf_Property) && |
- window->GetSharedProperty<bool>( |
- ui::mojom::WindowManager::kWindowIgnoredByShelf_Property); |
-} |
- |
-void SetWindowIsJanky(ui::Window* window, bool janky) { |
- window->SetLocalProperty(kWindowIsJankyProperty, janky); |
-} |
- |
-bool IsWindowJanky(ui::Window* window) { |
- return window->GetLocalProperty(kWindowIsJankyProperty); |
-} |
- |
-bool IsWindowJankyProperty(const void* key) { |
- return key == kWindowIsJankyProperty; |
-} |
- |
-void SetAlwaysOnTop(ui::Window* window, bool value) { |
- window->SetSharedProperty<bool>( |
- ui::mojom::WindowManager::kAlwaysOnTop_Property, value); |
-} |
+bool GetInitialBounds(const InitProperties& properties, gfx::Rect* bounds) { |
+ auto iter = |
+ properties.find(ui::mojom::WindowManager::kInitialBounds_Property); |
+ if (iter == properties.end()) |
+ return false; |
-bool IsAlwaysOnTop(ui::Window* window) { |
- return window->HasSharedProperty( |
- ui::mojom::WindowManager::kAlwaysOnTop_Property) && |
- window->GetSharedProperty<bool>( |
- ui::mojom::WindowManager::kAlwaysOnTop_Property); |
+ *bounds = mojo::ConvertTo<gfx::Rect>(iter->second); |
+ return true; |
} |
-bool ShouldRemoveStandardFrame(ui::Window* window) { |
- return window->HasSharedProperty( |
- ui::mojom::WindowManager::kRemoveStandardFrame_Property) && |
- window->GetSharedProperty<bool>( |
- ui::mojom::WindowManager::kRemoveStandardFrame_Property); |
-} |
+bool GetWindowPreferredSize(const InitProperties& properties, gfx::Size* size) { |
+ auto iter = |
+ properties.find(ui::mojom::WindowManager::kPreferredSize_Property); |
+ if (iter == properties.end()) |
+ return false; |
-bool ShouldRenderParentTitleArea(ui::Window* window) { |
- return window->HasSharedProperty( |
- ui::mojom::WindowManager::kRendererParentTitleArea_Property) && |
- window->GetSharedProperty<bool>( |
- ui::mojom::WindowManager::kRendererParentTitleArea_Property); |
+ *size = mojo::ConvertTo<gfx::Size>(iter->second); |
+ return true; |
} |
-int64_t GetInitialDisplayId(const ui::Window::SharedProperties& properties) { |
+bool ShouldRemoveStandardFrame(const InitProperties& properties) { |
auto iter = |
- properties.find(ui::mojom::WindowManager::kInitialDisplayId_Property); |
- return iter == properties.end() ? display::kInvalidDisplayId |
- : mojo::ConvertTo<int64_t>(iter->second); |
-} |
- |
-void SetExcludeFromMru(ui::Window* window, bool value) { |
- window->SetSharedProperty<bool>( |
- ui::mojom::WindowManager::kExcludeFromMru_Property, value); |
+ properties.find(ui::mojom::WindowManager::kRemoveStandardFrame_Property); |
+ return iter != properties.end() && mojo::ConvertTo<bool>(iter->second); |
} |
-bool GetExcludeFromMru(const ui::Window* window) { |
- return window->HasSharedProperty( |
- ui::mojom::WindowManager::kExcludeFromMru_Property) && |
- window->GetSharedProperty<bool>( |
- ui::mojom::WindowManager::kExcludeFromMru_Property); |
+bool ShouldEnableImmersive(const InitProperties& properties) { |
+ auto iter = |
+ properties.find(ui::mojom::WindowManager::kDisableImmersive_Property); |
+ return iter == properties.end() || !mojo::ConvertTo<bool>(iter->second); |
} |
} // namespace mus |