diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-10-21 07:57:32 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-10-21 07:57:32 -0600 |
commit | 674589c370d978f543e71f995d58c5b28e6e9842 (patch) | |
tree | fc50d7474074e4627a857d4aaad65e51dfd1a56f /components/script/dom/worker.rs | |
parent | 20ea0f4755d2249a6abf9a4ade9d3df753f23bcf (diff) | |
parent | d0e022b64e7b708e6fbe7348526c49a3665361ba (diff) | |
download | servo-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.rs | 12 |
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()); } } |