aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas_traits/webgl_channel/mod.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2019-07-11 19:41:04 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-07-25 23:05:03 -0400
commit39d13d1fc85d3b38d04df689421fd0771c951b64 (patch)
tree2067c4e225e859a572a44ed733e0f9124c18c21c /components/canvas_traits/webgl_channel/mod.rs
parentad82d67b2e5ab56d046274ebb5436c3388ddf21a (diff)
downloadservo-39d13d1fc85d3b38d04df689421fd0771c951b64.tar.gz
servo-39d13d1fc85d3b38d04df689421fd0771c951b64.zip
Support running WebGL in its own thread or on the main thread.
Diffstat (limited to 'components/canvas_traits/webgl_channel/mod.rs')
-rw-r--r--components/canvas_traits/webgl_channel/mod.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/components/canvas_traits/webgl_channel/mod.rs b/components/canvas_traits/webgl_channel/mod.rs
index c9b2137a287..45c76d54605 100644
--- a/components/canvas_traits/webgl_channel/mod.rs
+++ b/components/canvas_traits/webgl_channel/mod.rs
@@ -71,6 +71,13 @@ where
WebGLReceiver::Mpsc(ref receiver) => receiver.recv().map_err(|_| ()),
}
}
+
+ pub fn try_recv(&self) -> Result<T, ()> {
+ match *self {
+ WebGLReceiver::Ipc(ref receiver) => receiver.try_recv().map_err(|_| ()),
+ WebGLReceiver::Mpsc(ref receiver) => receiver.try_recv().map_err(|_| ()),
+ }
+ }
}
pub fn webgl_channel<T>() -> Result<(WebGLSender<T>, WebGLReceiver<T>), ()>