| Index: ash/mus/shelf_delegate_mus.cc
|
| diff --git a/ash/mus/shelf_delegate_mus.cc b/ash/mus/shelf_delegate_mus.cc
|
| index 510bb1b79d9409f3db96dcf5151a07bd0ac458a4..699c397ec020cd92eb88bd055eb7a94f1d4764b7 100644
|
| --- a/ash/mus/shelf_delegate_mus.cc
|
| +++ b/ash/mus/shelf_delegate_mus.cc
|
| @@ -81,9 +81,10 @@ class ShelfItemDelegateMus : public ShelfItemDelegate {
|
| } // namespace
|
|
|
| ShelfDelegateMus::ShelfDelegateMus(ShelfModel* model)
|
| - : model_(model), binding_(this) {
|
| + : model_(model), shelf_(nullptr), 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());
|
| @@ -92,6 +93,7 @@ ShelfDelegateMus::ShelfDelegateMus(ShelfModel* model)
|
| ShelfDelegateMus::~ShelfDelegateMus() {}
|
|
|
| void ShelfDelegateMus::OnShelfCreated(Shelf* shelf) {
|
| + shelf_ = shelf;
|
| ash::ShelfWidget* widget = shelf->shelf_widget();
|
| ash::ShelfLayoutManager* layout_manager = widget->shelf_layout_manager();
|
| mus::Window* window = aura::GetMusWindow(widget->GetNativeWindow());
|
| @@ -108,7 +110,37 @@ void ShelfDelegateMus::OnShelfCreated(Shelf* shelf) {
|
| }
|
|
|
| void ShelfDelegateMus::OnShelfDestroyed(Shelf* shelf) {
|
| - NOTIMPLEMENTED();
|
| + DCHECK_EQ(shelf_, shelf);
|
| + shelf_ = nullptr;
|
| +}
|
| +
|
| +void ShelfDelegateMus::OnAlignmentChanged(ShelfAlignment alignment) {
|
| + LOG(ERROR) << "MSW ShelfDelegateMus::OnShelfAlignmentChanged";
|
| + // TODO(msw): Need to update the preferred sizes...
|
| +
|
| + // 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);
|
| +
|
| + shelf_layout_->SetAlignment(
|
| + static_cast<mash::wm::mojom::ShelfAlignment>(alignment));
|
| +}
|
| +
|
| +void ShelfDelegateMus::OnAutoHideBehaviorChanged(
|
| + ShelfAutoHideBehavior auto_hide) {
|
| + LOG(ERROR) << "MSW ShelfDelegateMus::OnAutoHideBehaviorChanged";
|
| + shelf_layout_->SetAutoHideBehavior(
|
| + static_cast<mash::wm::mojom::ShelfAutoHideBehavior>(auto_hide));
|
| }
|
|
|
| ShelfID ShelfDelegateMus::GetShelfIDForAppID(const std::string& app_id) {
|
|
|