Don't send empty canvases to WebRender

If any dimension of a canvas is 0, don't try to render it as it causes
problems inside webrender.
This commit is contained in:
Daniel Alley 2020-03-29 17:19:39 -04:00
parent e66ab111a6
commit 61fb84d6a0
5 changed files with 34 additions and 0 deletions

View file

@ -102,6 +102,7 @@ impl ReplacedContent {
let width = (intrinsic_size_in_dots.width as CSSFloat) / dppx;
let height = (intrinsic_size_in_dots.height as CSSFloat) / dppx;
return Some(Self {
kind,
intrinsic: IntrinsicSizes {
@ -201,6 +202,12 @@ impl ReplacedContent {
.into_iter()
.collect(),
ReplacedContentKind::Canvas(canvas_info) => {
if self.intrinsic.width == Some(Length::zero()) ||
self.intrinsic.height == Some(Length::zero())
{
return vec![];
}
let image_key = match canvas_info.source {
CanvasSource::WebGL(image_key) => image_key,
CanvasSource::Image(ref ipc_renderer) => match *ipc_renderer {