Skip to content

Commit

Permalink
dom: media: implement LayoutHTMLMediaElementHelpers trait for LayoutDom
Browse files Browse the repository at this point in the history
  • Loading branch information
ceyusa authored and ferjm committed Oct 8, 2018
1 parent 524750f commit 74a9edf
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion components/script/dom/htmlmediaelement.rs
Expand Up @@ -17,7 +17,7 @@ use dom::bindings::error::{Error, ErrorResult};
use dom::bindings::inheritance::Castable;
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::root::{DomRoot, MutNullableDom};
use dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom};
use dom::bindings::str::DOMString;
use dom::blob::Blob;
use dom::document::Document;
Expand All @@ -39,6 +39,7 @@ use mime::{Mime, SubLevel, TopLevel};
use net_traits::{FetchResponseListener, FetchMetadata, Metadata, NetworkError};
use net_traits::request::{CredentialsMode, Destination, RequestInit};
use network_listener::{NetworkListener, PreInvoke};
use script_layout_interface::HTMLMediaData;
use script_thread::ScriptThread;
use servo_media::player::{PlaybackState, Player, PlayerEvent};
use servo_media::ServoMedia;
Expand Down Expand Up @@ -1025,6 +1026,23 @@ impl VirtualMethods for HTMLMediaElement {
}
}

pub trait LayoutHTMLMediaElementHelpers {
fn data(&self) -> HTMLMediaData;
}

impl LayoutHTMLMediaElementHelpers for LayoutDom<HTMLMediaElement> {
#[allow(unsafe_code)]
fn data(&self) -> HTMLMediaData {
unsafe {
let media = &*self.unsafe_get();

HTMLMediaData {
frame_source: Box::new(media.frame_renderer.clone()),
}
}
}
}

#[derive(JSTraceable, MallocSizeOf)]
pub enum MediaElementMicrotask {
ResourceSelectionTask {
Expand Down

0 comments on commit 74a9edf

Please sign in to comment.