diff --git a/webrender/src/render_backend.rs b/webrender/src/render_backend.rs index d8a13c879b..e18468891b 100644 --- a/webrender/src/render_backend.rs +++ b/webrender/src/render_backend.rs @@ -1110,10 +1110,10 @@ impl RenderBackend { txn.blob_rasterizer = blob_rasterizer; } - if !transaction_msg.use_scene_builder_thread && txn.can_skip_scene_builder() { - if let Some(rasterizer) = txn.blob_rasterizer.take() { - self.resource_cache.set_blob_rasterizer(rasterizer); - } + if !transaction_msg.use_scene_builder_thread && + txn.can_skip_scene_builder() && + txn.blob_rasterizer.is_none() { + self.update_document( txn.document_id, replace(&mut txn.resource_updates, Vec::new()), diff --git a/webrender/src/resource_cache.rs b/webrender/src/resource_cache.rs index 95c712602a..64be2ddf9d 100644 --- a/webrender/src/resource_cache.rs +++ b/webrender/src/resource_cache.rs @@ -1082,7 +1082,7 @@ impl ResourceCache { &mut self, keys: &[BlobImageKey] ) -> (Option>, Vec) { - if self.blob_image_handler.is_none() { + if self.blob_image_handler.is_none() || keys.is_empty() { return (None, Vec::new()); }