aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r--components/script/dom/webglrenderingcontext.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 07ab777e631..c7896b42436 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -569,12 +569,10 @@ impl WebGLRenderingContext {
return Err(Error::Security);
}
if let Some((data, size)) = canvas.fetch_all_data() {
- TexPixels::new(
- IpcSharedMemory::from_bytes(&data),
- size,
- PixelFormat::BGRA8,
- true,
- )
+ let data = data.unwrap_or_else(|| {
+ IpcSharedMemory::from_bytes(&vec![0; size.area() as usize * 4])
+ });
+ TexPixels::new(data, size, PixelFormat::BGRA8, true)
} else {
return Ok(None);
}