diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index 509f04f53..d6840ed7e 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -555,9 +555,16 @@ void CefRenderWidgetHostViewOSR::InitAsPopup( handler->OnPopupShow(browser_impl_.get(), true); - popup_position_ = pos; + CefRect view_rect; + handler->GetViewRect(browser_impl_.get(), view_rect); + gfx::Rect client_pos(pos.x() - view_rect.x, pos.y() - view_rect.y, + pos.width(), pos.height()); + + popup_position_ = client_pos; + + CefRect widget_pos(client_pos.x(), client_pos.y(), client_pos.width(), + client_pos.height()); - CefRect widget_pos(pos.x(), pos.y(), pos.width(), pos.height()); if (handler.get()) handler->OnPopupSize(browser_impl_.get(), widget_pos);