aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/htmlmediaelement.rs10
-rw-r--r--components/script_traits/lib.rs6
2 files changed, 11 insertions, 5 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 0bcf2f45d0f..3a5e9880375 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -213,7 +213,10 @@ impl VideoFrameRenderer for MediaFrameRenderer {
Some((ref mut image_key, ref mut width, ref mut height)) => {
self.old_frame = Some(*image_key);
- let new_image_key = self.api.generate_image_key();
+ let new_image_key = match self.api.generate_image_key() {
+ Ok(key) => key,
+ Err(()) => return,
+ };
/* update current_frame */
*image_key = new_image_key;
@@ -243,7 +246,10 @@ impl VideoFrameRenderer for MediaFrameRenderer {
updates.push(ImageUpdate::AddImage(new_image_key, descriptor, image_data));
},
None => {
- let image_key = self.api.generate_image_key();
+ let image_key = match self.api.generate_image_key() {
+ Ok(key) => key,
+ Err(()) => return,
+ };
self.current_frame = Some((image_key, frame.get_width(), frame.get_height()));
let image_data = if frame.is_gl_texture() && self.player_id.is_some() {
diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs
index 4403627bca4..b3e92cbce21 100644
--- a/components/script_traits/lib.rs
+++ b/components/script_traits/lib.rs
@@ -1195,12 +1195,12 @@ impl WebrenderIpcSender {
}
/// Create a new image key. Blocks until the key is available.
- pub fn generate_image_key(&self) -> ImageKey {
+ pub fn generate_image_key(&self) -> Result<ImageKey, ()> {
let (sender, receiver) = ipc::channel().unwrap();
self.0
.send(WebrenderMsg::GenerateImageKey(sender))
- .expect("error sending image key generation");
- receiver.recv().expect("error receiving image key result")
+ .map_err(|_| ())?;
+ receiver.recv().map_err(|_| ())
}
/// Perform a resource update operation.