| Index: ash/mus/root_window_controller.cc
|
| diff --git a/ash/mus/root_window_controller.cc b/ash/mus/root_window_controller.cc
|
| index f5da782f9ba624961ad47415a11f907d94d743bb..394c558daeebc0b8398483fbd09b7d89773955c2 100644
|
| --- a/ash/mus/root_window_controller.cc
|
| +++ b/ash/mus/root_window_controller.cc
|
| @@ -102,9 +102,21 @@ ui::Window* RootWindowController::NewTopLevelWindow(
|
| if (GetRequestedContainer(window, &container_id)) {
|
| container_window = GetWindowByShellWindowId(container_id)->mus_window();
|
| } else {
|
| - // TODO(sky): window->bounds() isn't quite right.
|
| + const gfx::Point top_right_in_screen =
|
| + wm_root_window_controller_->ConvertPointToScreen(
|
| + WmWindowMus::Get(window), window->bounds().top_right());
|
| +
|
| + const gfx::Point bottom_left_in_screen =
|
| + wm_root_window_controller_->ConvertPointToScreen(
|
| + WmWindowMus::Get(window), window->bounds().bottom_left());
|
| +
|
| + const gfx::Rect bounds_in_screen =
|
| + gfx::Rect(bottom_left_in_screen.x(), top_right_in_screen.y(),
|
| + top_right_in_screen.x() - bottom_left_in_screen.x(),
|
| + bottom_left_in_screen.y() - top_right_in_screen.y());
|
| +
|
| container_window = WmWindowMus::GetMusWindow(wm::GetDefaultParent(
|
| - WmWindowMus::Get(root_), WmWindowMus::Get(window), window->bounds()));
|
| + WmWindowMus::Get(root_), WmWindowMus::Get(window), bounds_in_screen));
|
| }
|
| DCHECK(WmWindowMus::Get(container_window)->IsContainer());
|
|
|
|
|