diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm index af6c63211e11f9..0c38129c29c672 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -332,11 +332,13 @@ void IOSurfaceContextNoOp(scoped_refptr) { bool ImageTransportSurfaceOverlayMac::ScheduleCALayer( const ui::CARendererLayerParams& params) { - gl::GLImageIOSurface* io_surface_image = - gl::GLImageIOSurface::FromGLImage(params.image); - if (!io_surface_image) { - DLOG(ERROR) << "Cannot schedule CALayer with non-IOSurface GLImage"; - return false; + if (params.image) { + gl::GLImageIOSurface* io_surface_image = + gl::GLImageIOSurface::FromGLImage(params.image); + if (!io_surface_image) { + DLOG(ERROR) << "Cannot schedule CALayer with non-IOSurface GLImage"; + return false; + } } return ca_layer_tree_coordinator_->GetPendingCARendererLayerTree() ->ScheduleCALayer(params); diff --git a/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm b/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm index 5aa0176c2af2f6..d5b3734a72676c 100644 --- a/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm +++ b/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm @@ -394,13 +394,15 @@ bool AVSampleBufferDisplayLayerEnqueueIOSurface( void CARendererLayerTree::TransformLayer::AddContentLayer( const CARendererLayerParams& params) { - gl::GLImageIOSurface* io_surface_image = - gl::GLImageIOSurface::FromGLImage(params.image); - DCHECK(io_surface_image); - base::ScopedCFTypeRef io_surface = - io_surface_image->io_surface(); - base::ScopedCFTypeRef cv_pixel_buffer = - io_surface_image->cv_pixel_buffer(); + base::ScopedCFTypeRef io_surface; + base::ScopedCFTypeRef cv_pixel_buffer; + if (params.image) { + gl::GLImageIOSurface* io_surface_image = + gl::GLImageIOSurface::FromGLImage(params.image); + DCHECK(io_surface_image); + io_surface = io_surface_image->io_surface(); + cv_pixel_buffer = io_surface_image->cv_pixel_buffer(); + } content_layers.push_back( ContentLayer(io_surface, cv_pixel_buffer, params.contents_rect,