diff options
author | Josh Matthews <josh@joshmatthews.net> | 2020-06-09 15:52:03 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2020-06-09 15:52:03 -0400 |
commit | 125bfceafd4dac829604b7a3e9f50694df00a41d (patch) | |
tree | b2bea12e09ebf751e14ecf17de83632d3dc4865b /components/script/dom/htmlmediaelement.rs | |
parent | c88bea8d931bae39323d0ad023eaf547d50c67bb (diff) | |
download | servo-125bfceafd4dac829604b7a3e9f50694df00a41d.tar.gz servo-125bfceafd4dac829604b7a3e9f50694df00a41d.zip |
script: Don't panic when IPC WebRender APIs fail during shutdown.
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 10 |
1 files changed, 8 insertions, 2 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() { |