servo: Merge #8454 - Implement basic <media> infrastructure (from jdm:media); r=KiChjang

This gets us to the point where we can start playing with actually integrating rust-media to process the data received by the network request, as currently it's just ignored.

Source-Repo: https://github.com/servo/servo
Source-Revision: f9d9cd3aaed3326e8935f710f800288a50156c71
This commit is contained in:
Josh Matthews
2016-05-03 16:42:46 -07:00
parent 195ce9ea2b
commit 2aa3feb6cb
11 changed files with 912 additions and 25 deletions

View File

@@ -505,6 +505,19 @@ impl ScriptThread {
});
}
// https://html.spec.whatwg.org/multipage/#await-a-stable-state
pub fn await_stable_state<T: Runnable + Send + 'static>(task: T) {
//TODO use microtasks when they exist
SCRIPT_THREAD_ROOT.with(|root| {
if let Some(script_thread) = *root.borrow() {
let script_thread = unsafe { &*script_thread };
let _ = script_thread.chan.send(CommonScriptMsg::RunnableMsg(
ScriptThreadEventCategory::DomEvent,
box task));
}
});
}
/// Creates a new script thread.
pub fn new(state: InitialScriptState,
port: Receiver<MainThreadScriptMsg>,