aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlmediaelement.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2020-06-09 15:52:03 -0400
committerJosh Matthews <josh@joshmatthews.net>2020-06-09 15:52:03 -0400
commit125bfceafd4dac829604b7a3e9f50694df00a41d (patch)
treeb2bea12e09ebf751e14ecf17de83632d3dc4865b /components/script/dom/htmlmediaelement.rs
parentc88bea8d931bae39323d0ad023eaf547d50c67bb (diff)
downloadservo-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.rs10
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() {