| Index: ash/mus/shelf_delegate_mus.cc
|
| diff --git a/ash/mus/shelf_delegate_mus.cc b/ash/mus/shelf_delegate_mus.cc
|
| index d023996170881886f9167c4adfee52803dce19c8..7f36abfbe5c3cc13bf46b3e4cf31ddd5dabe2351 100644
|
| --- a/ash/mus/shelf_delegate_mus.cc
|
| +++ b/ash/mus/shelf_delegate_mus.cc
|
| @@ -105,6 +105,7 @@ ShelfDelegateMus::ShelfDelegateMus(ShelfModel* model)
|
| : model_(model), binding_(this) {
|
| mojo::Connector* connector =
|
| views::WindowManagerConnection::Get()->connector();
|
| + connector->ConnectToInterface("mojo:desktop_wm", &shelf_layout_);
|
| connector->ConnectToInterface("mojo:desktop_wm", &user_window_controller_);
|
| user_window_controller_->AddUserWindowObserver(
|
| binding_.CreateInterfacePtrAndBind());
|
| @@ -113,19 +114,7 @@ ShelfDelegateMus::ShelfDelegateMus(ShelfModel* model)
|
| ShelfDelegateMus::~ShelfDelegateMus() {}
|
|
|
| void ShelfDelegateMus::OnShelfCreated(Shelf* shelf) {
|
| - ash::ShelfWidget* widget = shelf->shelf_widget();
|
| - ash::ShelfLayoutManager* layout_manager = widget->shelf_layout_manager();
|
| - mus::Window* window = aura::GetMusWindow(widget->GetNativeWindow());
|
| - gfx::Size size = layout_manager->GetIdealBounds().size();
|
| - window->SetSharedProperty<gfx::Size>(
|
| - mus::mojom::WindowManager::kPreferredSize_Property, size);
|
| -
|
| - ash::StatusAreaWidget* status_widget = widget->status_area_widget();
|
| - mus::Window* status_window =
|
| - aura::GetMusWindow(status_widget->GetNativeWindow());
|
| - gfx::Size status_size = status_widget->GetWindowBoundsInScreen().size();
|
| - status_window->SetSharedProperty<gfx::Size>(
|
| - mus::mojom::WindowManager::kPreferredSize_Property, status_size);
|
| + SetShelfPreferredSizes(shelf);
|
| }
|
|
|
| void ShelfDelegateMus::OnShelfDestroyed(Shelf* shelf) {
|
| @@ -133,11 +122,15 @@ void ShelfDelegateMus::OnShelfDestroyed(Shelf* shelf) {
|
| }
|
|
|
| void ShelfDelegateMus::OnShelfAlignmentChanged(Shelf* shelf) {
|
| - NOTIMPLEMENTED();
|
| + SetShelfPreferredSizes(shelf);
|
| + shelf_layout_->SetAlignment(
|
| + static_cast<mash::wm::mojom::ShelfAlignment>(shelf->GetAlignment()));
|
| }
|
|
|
| void ShelfDelegateMus::OnShelfAutoHideBehaviorChanged(Shelf* shelf) {
|
| - NOTIMPLEMENTED();
|
| + shelf_layout_->SetAutoHideBehavior(
|
| + static_cast<mash::wm::mojom::ShelfAutoHideBehavior>(
|
| + shelf->auto_hide_behavior()));
|
| }
|
|
|
| ShelfID ShelfDelegateMus::GetShelfIDForAppID(const std::string& app_id) {
|
| @@ -251,5 +244,21 @@ void ShelfDelegateMus::OnUserWindowFocusChanged(uint32_t window_id,
|
| model_->Set(index, item);
|
| }
|
|
|
| +void ShelfDelegateMus::SetShelfPreferredSizes(Shelf* shelf) {
|
| + ash::ShelfWidget* widget = shelf->shelf_widget();
|
| + ash::ShelfLayoutManager* layout_manager = widget->shelf_layout_manager();
|
| + mus::Window* window = aura::GetMusWindow(widget->GetNativeWindow());
|
| + gfx::Size size = layout_manager->GetIdealBounds().size();
|
| + window->SetSharedProperty<gfx::Size>(
|
| + mus::mojom::WindowManager::kPreferredSize_Property, size);
|
| +
|
| + ash::StatusAreaWidget* status_widget = widget->status_area_widget();
|
| + mus::Window* status_window =
|
| + aura::GetMusWindow(status_widget->GetNativeWindow());
|
| + gfx::Size status_size = status_widget->GetWindowBoundsInScreen().size();
|
| + status_window->SetSharedProperty<gfx::Size>(
|
| + mus::mojom::WindowManager::kPreferredSize_Property, status_size);
|
| +}
|
| +
|
| } // namespace sysui
|
| } // namespace ash
|
|
|