diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index d75937399..2c279e986 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -1424,6 +1424,7 @@ void CefRenderWidgetHostViewOSR::ResizeRootLayer() { GetRootLayer()->SetBounds(gfx::Rect(size)); GetCompositor()->SetScaleAndSize(scale_factor_, size_in_pixels); + PlatformResizeCompositorWidget(size_in_pixels); } void CefRenderWidgetHostViewOSR::OnBeginFrameTimerTick() { diff --git a/libcef/browser/osr/render_widget_host_view_osr.h b/libcef/browser/osr/render_widget_host_view_osr.h index bbc897982..e063948a8 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.h +++ b/libcef/browser/osr/render_widget_host_view_osr.h @@ -313,6 +313,7 @@ class CefRenderWidgetHostViewOSR #endif // defined(OS_MACOSX) void PlatformCreateCompositorWidget(); + void PlatformResizeCompositorWidget(const gfx::Size& size); void PlatformDestroyCompositorWidget(); #if defined(USE_AURA) diff --git a/libcef/browser/osr/render_widget_host_view_osr_linux.cc b/libcef/browser/osr/render_widget_host_view_osr_linux.cc index 444103a2a..d239e665d 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_linux.cc +++ b/libcef/browser/osr/render_widget_host_view_osr_linux.cc @@ -123,6 +123,9 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() { compositor_widget_ = window_->xwindow(); } +void CefRenderWidgetHostViewOSR::PlatformResizeCompositorWidget(const gfx::Size&) { +} + void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { DCHECK(window_); window_->Close(); diff --git a/libcef/browser/osr/render_widget_host_view_osr_mac.mm b/libcef/browser/osr/render_widget_host_view_osr_mac.mm index f2fcc42a1..850ca7227 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_mac.mm +++ b/libcef/browser/osr/render_widget_host_view_osr_mac.mm @@ -389,6 +389,9 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() { mac_helper_, mac_helper_, render_widget_host_->is_hidden(), true)); } +void CefRenderWidgetHostViewOSR::PlatformResizeCompositorWidget(const gfx::Size&) { +} + void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { DCHECK(window_); diff --git a/libcef/browser/osr/render_widget_host_view_osr_win.cc b/libcef/browser/osr/render_widget_host_view_osr_win.cc index 1f7e0cf2a..1d85fad44 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_win.cc +++ b/libcef/browser/osr/render_widget_host_view_osr_win.cc @@ -149,6 +149,12 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() { compositor_widget_ = window_->hwnd(); } +void CefRenderWidgetHostViewOSR::PlatformResizeCompositorWidget(const gfx::Size& size) { + DCHECK(window_); + SetWindowPos(window_->hwnd(), NULL, 0, 0, size.width(), size.height(), + SWP_NOMOVE | SWP_NOZORDER | SWP_NOREDRAW); +} + void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { window_.reset(NULL); compositor_widget_ = gfx::kNullAcceleratedWidget;