| Index: components/exo/display.cc
|
| diff --git a/components/exo/display.cc b/components/exo/display.cc
|
| index 4d51b34c49e0b5566f2ef760f2480a542d2c319d..72970f17125ca0eaf7158a2c60738bf57926647b 100644
|
| --- a/components/exo/display.cc
|
| +++ b/components/exo/display.cc
|
| @@ -19,6 +19,7 @@
|
| #include "components/exo/sub_surface.h"
|
| #include "components/exo/surface.h"
|
| #include "ui/views/widget/widget.h"
|
| +#include "ui/wm/core/coordinate_conversion.h"
|
|
|
| #if defined(USE_OZONE)
|
| #include <GLES2/gl2extchromium.h>
|
| @@ -135,13 +136,13 @@ std::unique_ptr<ShellSurface> Display::CreatePopupShellSurface(
|
| }
|
|
|
| // Determine the initial bounds for popup. |position| is relative to the
|
| - // parent's main surface origin and initial bounds are relative to the
|
| - // container origin.
|
| - gfx::Rect initial_bounds(position, gfx::Size(1, 1));
|
| - aura::Window::ConvertRectToTarget(
|
| + // parent's main surface origin and initial bounds are in screen coordinates.
|
| + gfx::Point origin = position;
|
| + wm::ConvertPointToScreen(
|
| ShellSurface::GetMainSurface(parent->GetWidget()->GetNativeWindow())
|
| ->window(),
|
| - parent->GetWidget()->GetNativeWindow()->parent(), &initial_bounds);
|
| + &origin);
|
| + gfx::Rect initial_bounds(origin, gfx::Size(1, 1));
|
|
|
| return base::WrapUnique(
|
| new ShellSurface(surface, parent, initial_bounds, false /* activatable */,
|
|
|