diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-08-12 18:39:46 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-08-13 11:30:07 +0200 |
commit | b1d13dfe13a9f443d47e896df2af3536ab4365d7 (patch) | |
tree | c294099027bceedaaecb49efa99c4bed5c295acf /src/components/script/dom/worker.rs | |
parent | 6d2dcc2852c081b6b04c0de6e8b837abed91ebb8 (diff) | |
download | servo-b1d13dfe13a9f443d47e896df2af3536ab4365d7.tar.gz servo-b1d13dfe13a9f443d47e896df2af3536ab4365d7.zip |
Implement {Worker,DedicatedWorkerGlobalScope}.onmessage.
Diffstat (limited to 'src/components/script/dom/worker.rs')
-rw-r--r-- | src/components/script/dom/worker.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/components/script/dom/worker.rs b/src/components/script/dom/worker.rs index f5e25db68e2..a01865c6075 100644 --- a/src/components/script/dom/worker.rs +++ b/src/components/script/dom/worker.rs @@ -4,13 +4,14 @@ use dom::bindings::codegen::Bindings::WorkerBinding; use dom::bindings::codegen::Bindings::WorkerBinding::WorkerMethods; +use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::InheritTypes::EventTargetCast; use dom::bindings::error::{Fallible, Syntax}; use dom::bindings::global::{GlobalRef, GlobalField}; use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::dedicatedworkerglobalscope::DedicatedWorkerGlobalScope; -use dom::eventtarget::{EventTarget, WorkerTypeId}; +use dom::eventtarget::{EventTarget, EventTargetHelpers, WorkerTypeId}; use dom::messageevent::MessageEvent; use script_task::{ScriptChan, DOMMessage}; @@ -119,6 +120,16 @@ impl<'a> WorkerMethods for JSRef<'a, Worker> { let ScriptChan(ref sender) = self.sender; sender.send(DOMMessage(message)); } + + fn GetOnmessage(&self) -> Option<EventHandlerNonNull> { + let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + eventtarget.get_event_handler_common("message") + } + + fn SetOnmessage(&self, listener: Option<EventHandlerNonNull>) { + let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + eventtarget.set_event_handler_common("message", listener) + } } impl Reflectable for Worker { |