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.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 46b9c72c6ca..f8350759dd8 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -604,9 +604,14 @@ impl WebGLRenderingContext {
return Ok(None);
}
},
- TexImageSource::HTMLVideoElement(_) => {
- // TODO: https://github.com/servo/servo/issues/6711
- return Ok(None);
+ TexImageSource::HTMLVideoElement(video) => match video.get_current_frame_data() {
+ Some((data, size)) => {
+ let data = data.unwrap_or_else(|| {
+ IpcSharedMemory::from_bytes(&vec![0; size.area() as usize * 4])
+ });
+ TexPixels::new(data, size, PixelFormat::BGRA8, false)
+ },
+ None => return Ok(None),
},
}))
}