Browse Source

fix: use RenderViewReady to call InstallTransparency (#24390)

this fixes a crash with transparent OSR when GPU acceleration is
disabled
Andy Dill 4 years ago
parent
commit
cf74ee3d83

+ 0 - 1
shell/browser/osr/osr_render_widget_host_view.cc

@@ -222,7 +222,6 @@ OffScreenRenderWidgetHostView::OffScreenRenderWidgetHostView(
 
   ResizeRootLayer(false);
   render_widget_host_->SetView(this);
-  InstallTransparency();
 
   if (content::GpuDataManager::GetInstance()->HardwareAccelerationEnabled()) {
     video_consumer_ = std::make_unique<OffScreenVideoConsumer>(

+ 4 - 1
shell/browser/osr/osr_web_contents_view.cc

@@ -143,7 +143,10 @@ OffScreenWebContentsView::CreateViewForChildWidget(
 
 void OffScreenWebContentsView::SetPageTitle(const base::string16& title) {}
 
-void OffScreenWebContentsView::RenderViewReady() {}
+void OffScreenWebContentsView::RenderViewReady() {
+  if (GetView())
+    GetView()->InstallTransparency();
+}
 
 void OffScreenWebContentsView::RenderViewHostChanged(
     content::RenderViewHost* old_host,