mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
dom: media: implement LayoutHTMLMediaElementHelpers trait for LayoutDom
This commit is contained in:
parent
524750f41f
commit
74a9edfed3
1 changed files with 19 additions and 1 deletions
|
@ -17,7 +17,7 @@ use dom::bindings::error::{Error, ErrorResult};
|
||||||
use dom::bindings::inheritance::Castable;
|
use dom::bindings::inheritance::Castable;
|
||||||
use dom::bindings::refcounted::Trusted;
|
use dom::bindings::refcounted::Trusted;
|
||||||
use dom::bindings::reflector::DomObject;
|
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::bindings::str::DOMString;
|
||||||
use dom::blob::Blob;
|
use dom::blob::Blob;
|
||||||
use dom::document::Document;
|
use dom::document::Document;
|
||||||
|
@ -39,6 +39,7 @@ use mime::{Mime, SubLevel, TopLevel};
|
||||||
use net_traits::{FetchResponseListener, FetchMetadata, Metadata, NetworkError};
|
use net_traits::{FetchResponseListener, FetchMetadata, Metadata, NetworkError};
|
||||||
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
||||||
use network_listener::{NetworkListener, PreInvoke};
|
use network_listener::{NetworkListener, PreInvoke};
|
||||||
|
use script_layout_interface::HTMLMediaData;
|
||||||
use script_thread::ScriptThread;
|
use script_thread::ScriptThread;
|
||||||
use servo_media::player::{PlaybackState, Player, PlayerEvent};
|
use servo_media::player::{PlaybackState, Player, PlayerEvent};
|
||||||
use servo_media::ServoMedia;
|
use servo_media::ServoMedia;
|
||||||
|
@ -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)]
|
#[derive(JSTraceable, MallocSizeOf)]
|
||||||
pub enum MediaElementMicrotask {
|
pub enum MediaElementMicrotask {
|
||||||
ResourceSelectionTask {
|
ResourceSelectionTask {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue