diff options
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 10 | ||||
-rw-r--r-- | components/script_traits/lib.rs | 6 |
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. |