aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/worker.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-10-21 07:57:32 -0600
committerbors-servo <metajack+bors@gmail.com>2015-10-21 07:57:32 -0600
commit674589c370d978f543e71f995d58c5b28e6e9842 (patch)
treefc50d7474074e4627a857d4aaad65e51dfd1a56f /components/script/dom/worker.rs
parent20ea0f4755d2249a6abf9a4ade9d3df753f23bcf (diff)
parentd0e022b64e7b708e6fbe7348526c49a3665361ba (diff)
downloadservo-674589c370d978f543e71f995d58c5b28e6e9842.tar.gz
servo-674589c370d978f543e71f995d58c5b28e6e9842.zip
Auto merge of #8041 - nox:castable, r=jdm
Introduce trait Castable Removes all those messy FooCast structures in InheritTypes.rs. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8041) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/worker.rs')
-rw-r--r--components/script/dom/worker.rs12
1 files changed, 4 insertions, 8 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index 226e9143277..e3fc2a202e5 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -6,7 +6,7 @@ use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg};
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::Bindings::WorkerBinding;
use dom::bindings::codegen::Bindings::WorkerBinding::WorkerMethods;
-use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast};
+use dom::bindings::conversions::Castable;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::global::{GlobalField, GlobalRef};
use dom::bindings::js::Root;
@@ -115,7 +115,7 @@ impl Worker {
let worker = address.root();
let global = worker.r().global.root();
- let target = EventTargetCast::from_ref(worker.r());
+ let target = worker.upcast();
let _ar = JSAutoRequest::new(global.r().get_cx());
let _ac = JSAutoCompartment::new(global.r().get_cx(), target.reflector().get_jsobject().get());
let mut message = RootedValue::new(global.r().get_cx(), UndefinedValue());
@@ -126,13 +126,11 @@ impl Worker {
pub fn dispatch_simple_error(address: TrustedWorkerAddress) {
let worker = address.root();
let global = worker.r().global.root();
- let target = EventTargetCast::from_ref(worker.r());
-
let event = Event::new(global.r(),
"error".to_owned(),
EventBubbles::DoesNotBubble,
EventCancelable::NotCancelable);
- event.r().fire(target);
+ event.fire(worker.upcast());
}
pub fn handle_error_message(address: TrustedWorkerAddress, message: DOMString,
@@ -140,12 +138,10 @@ impl Worker {
let worker = address.root();
let global = worker.r().global.root();
let error = RootedValue::new(global.r().get_cx(), UndefinedValue());
- let target = EventTargetCast::from_ref(worker.r());
let errorevent = ErrorEvent::new(global.r(), "error".to_owned(),
EventBubbles::Bubbles, EventCancelable::Cancelable,
message, filename, lineno, colno, error.handle());
- let event = EventCast::from_ref(errorevent.r());
- event.fire(target);
+ errorevent.upcast::<Event>().fire(worker.upcast());
}
}