diff --git a/components/script/dom/mediaframerenderer.rs b/components/script/dom/mediaframerenderer.rs index 698051885a7..28a52c4bf7f 100644 --- a/components/script/dom/mediaframerenderer.rs +++ b/components/script/dom/mediaframerenderer.rs @@ -1,4 +1,5 @@ use servo_media::player::frame::{Frame, FrameRenderer}; +use script_layout_interface::HTMLMediaFrameSource; use std::mem; use std::sync::{Arc, Mutex}; use webrender_api::{ @@ -29,6 +30,17 @@ impl FrameRenderer for MediaFrameRenderer { } } +impl HTMLMediaFrameSource for MediaFrameRenderer { + fn get_current_frame(&self) -> Option<(ImageKey, i32, i32)> { + let inner = self.inner.lock().unwrap(); + inner.current_frame.clone() + } + + fn clone_boxed(&self) -> Box { + Box::new(self.clone()) + } +} + struct MediaFrameRendererInner { api: RenderApi, current_frame: Option<(ImageKey, i32, i32)>,