Report errors from ScriptPort trait methods.

This commit is contained in:
Josh Matthews 2015-11-19 03:26:01 -05:00 committed by Ms2ger
parent 3c00aff546
commit 2cfedc7288
3 changed files with 21 additions and 18 deletions

View file

@ -94,10 +94,11 @@ impl ScriptChan for WorkerThreadWorkerChan {
}
impl ScriptPort for Receiver<(TrustedWorkerAddress, WorkerScriptMsg)> {
fn recv(&self) -> CommonScriptMsg {
match self.recv().unwrap().1 {
WorkerScriptMsg::Common(script_msg) => script_msg,
WorkerScriptMsg::DOMMessage(_) => panic!("unexpected worker event message!"),
fn recv(&self) -> Result<CommonScriptMsg, ()> {
match self.recv().map(|(_, msg)| msg) {
Ok(WorkerScriptMsg::Common(script_msg)) => Ok(script_msg),
Ok(WorkerScriptMsg::DOMMessage(_)) => panic!("unexpected worker event message!"),
Err(_) => Err(()),
}
}
}

View file

@ -1337,7 +1337,7 @@ impl XMLHttpRequest {
if let Some(script_port) = script_port {
loop {
global.process_event(script_port.recv());
global.process_event(script_port.recv().unwrap());
let context = context.lock().unwrap();
let sync_status = context.sync_status.borrow();
if let Some(ref status) = *sync_status {