From 0098d5bca7dc6a1d65ca221e87c4437a4d4a8ea4 Mon Sep 17 00:00:00 2001 From: Heilig Benedek Date: Sun, 31 Jul 2016 18:40:35 +0200 Subject: [PATCH] Hide when not painting + cursor event fix --- atom/browser/api/atom_api_web_contents.cc | 4 ++++ atom/browser/osr_render_widget_host_view.cc | 1 + 2 files changed, 5 insertions(+) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index bdcdc90e86e5..86ed8edb8398 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -1322,6 +1322,8 @@ void WebContents::OnCursorChange(const content::WebCursor& cursor) { if (cursor.IsCustom()) { Emit("cursor-changed", CursorTypeToString(info), gfx::Image::CreateFrom1xBitmap(info.custom_image), + gfx::Rect(info.custom_image.width(), info.custom_image.height()), + info.hotspot, info.image_scale_factor); } else { Emit("cursor-changed", CursorTypeToString(info)); @@ -1405,6 +1407,7 @@ void WebContents::StartPainting() { const auto osr_rwhv = static_cast( web_contents()->GetRenderWidgetHostView()); osr_rwhv->SetPainting(true); + osr_rwhv->Show(); } } @@ -1413,6 +1416,7 @@ void WebContents::StopPainting() { const auto osr_rwhv = static_cast( web_contents()->GetRenderWidgetHostView()); osr_rwhv->SetPainting(false); + osr_rwhv->Hide(); } } diff --git a/atom/browser/osr_render_widget_host_view.cc b/atom/browser/osr_render_widget_host_view.cc index 9f2d1524011a..2ceca6a66361 100644 --- a/atom/browser/osr_render_widget_host_view.cc +++ b/atom/browser/osr_render_widget_host_view.cc @@ -508,6 +508,7 @@ void OffScreenRenderWidgetHostView::Show() { render_widget_host_->WasShown(ui::LatencyInfo()); delegated_frame_host_->SetCompositor(compositor_.get()); delegated_frame_host_->WasShown(ui::LatencyInfo()); + compositor_->ScheduleFullRedraw(); } void OffScreenRenderWidgetHostView::Hide() {