Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| index e706f46a2b53a5112360434c5047eca0906df6ac..54ae28d541d06a0f1cc2ed053bf40a3db43e4894 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| @@ -592,6 +592,15 @@ void RenderWidgetHostViewAura::Hide() { |
| #endif |
| } |
| +aura::Window* RenderWidgetHostViewAura::GetToplevelWindow() { |
| + base::debug::StackTrace().Print(); |
| +#if defined(OS_CHROMEOS) |
| + return window_->GetToplevelWindow(); |
|
sadrul
2016/12/16 20:15:44
On non-chromeos, I assume this returns the |Deskto
|
| +#else |
| + return window_->GetRootWindow(); |
| +#endif |
| +} |
| + |
| void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { |
| // For a SetSize operation, we don't care what coordinate system the origin |
| // of the window is in, it's only important to make sure that the origin |
| @@ -600,21 +609,12 @@ void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { |
| } |
| void RenderWidgetHostViewAura::SetBounds(const gfx::Rect& rect) { |
| - gfx::Point relative_origin(rect.origin()); |
| - |
| - // RenderWidgetHostViewAura::SetBounds() takes screen coordinates, but |
| - // Window::SetBounds() takes parent coordinates, so do the conversion here. |
| - aura::Window* root = window_->GetRootWindow(); |
| - if (root) { |
| - aura::client::ScreenPositionClient* screen_position_client = |
| - aura::client::GetScreenPositionClient(root); |
| - if (screen_position_client) { |
| - screen_position_client->ConvertPointFromScreen( |
| - window_->parent(), &relative_origin); |
| - } |
| - } |
| - |
| - InternalSetBounds(gfx::Rect(relative_origin, rect.size())); |
| + display::Display display = |
| + popup_parent_host_view_ |
| + ? display::Screen::GetScreen()->GetDisplayNearestWindow( |
| + popup_parent_host_view_->window_) |
| + : display::Screen::GetScreen()->GetDisplayMatching(rect); |
| + GetToplevelWindow()->SetBoundsInScreen(rect, display); |
| } |
| gfx::Vector2dF RenderWidgetHostViewAura::GetLastScrollOffset() const { |