Chromium Code Reviews| Index: ash/mus/root_window_controller.cc |
| diff --git a/ash/mus/root_window_controller.cc b/ash/mus/root_window_controller.cc |
| index def83f68ac71d3476c037e94174445d704ddea0c..8642d5901dd4b8e9ae40fc575d231fd225686832 100644 |
| --- a/ash/mus/root_window_controller.cc |
| +++ b/ash/mus/root_window_controller.cc |
| @@ -38,6 +38,7 @@ |
| #include "services/ui/public/cpp/window.h" |
| #include "services/ui/public/cpp/window_property.h" |
| #include "services/ui/public/cpp/window_tree_client.h" |
| +#include "services/ui/public/interfaces/display/display_controller.mojom.h" |
| #include "ui/display/display_list.h" |
| #include "ui/display/screen_base.h" |
| @@ -126,18 +127,21 @@ WmWindowMus* RootWindowController::GetWindowByShellWindowId(int id) { |
| } |
| void RootWindowController::SetWorkAreaInests(const gfx::Insets& insets) { |
| + gfx::Rect old_work_area = display_.work_area(); |
| display_.UpdateWorkAreaFromInsets(insets); |
| + |
| + if (old_work_area == display_.work_area()) |
| + return; |
| + |
| display::DisplayList* display_list = |
| window_manager_->screen()->display_list(); |
| - auto iter = display_list->FindDisplayById(display_.id()); |
| - DCHECK(iter != display_list->displays().end()); |
| - const display::DisplayList::Type display_type = |
| - iter == display_list->GetPrimaryDisplayIterator() |
| - ? display::DisplayList::Type::PRIMARY |
| - : display::DisplayList::Type::NOT_PRIMARY; |
| - display_list->UpdateDisplay(display_, display_type); |
| - // TODO(kylechar): needs to push to DisplayController. |
| - NOTIMPLEMENTED(); |
| + display_list->UpdateDisplay(display_); |
| + |
| + // Push new display insets to service:ui. |
| + display::mojom::DisplayControllerPtr display_controller; |
|
sky
2016/10/19 23:37:59
Can you make WindowManager maintain a single conne
kylechar
2016/10/20 15:04:19
Done.
|
| + GetConnector()->ConnectToInterface("service:ui", &display_controller); |
| + display_controller->SetDisplayWorkArea(display_.id(), |
| + display_.bounds().size(), insets); |
| } |
| gfx::Rect RootWindowController::CalculateDefaultBounds( |