diff options
author | Josh Matthews <josh@joshmatthews.net> | 2014-04-21 20:19:32 -0400 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-05-27 20:43:48 +0200 |
commit | 2d6153772cc316be229d68e4d267600da406fcd4 (patch) | |
tree | 660e36fb22e5a842c67719f1593aa800b367a4f1 /src/components/script/dom/document.rs | |
parent | 2717ab65ecae6cf4ab38b6c1b9ea3f02d4913252 (diff) | |
download | servo-2d6153772cc316be229d68e4d267600da406fcd4.tar.gz servo-2d6153772cc316be229d68e4d267600da406fcd4.zip |
Add stubs for inline event handler manipulation.
Diffstat (limited to 'src/components/script/dom/document.rs')
-rw-r--r-- | src/components/script/dom/document.rs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index 4c39752f985..68ea97d1335 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -5,6 +5,7 @@ use dom::bindings::codegen::InheritTypes::{DocumentDerived, EventCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, TextCast, ElementCast}; use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::EventTargetCast; use dom::bindings::codegen::BindingDeclarations::DocumentBinding; use dom::bindings::js::{JS, JSRef, Temporary, OptionalSettable, TemporaryPushable}; use dom::bindings::js::OptionalRootable; @@ -21,7 +22,7 @@ use dom::element::{Element, AttributeHandlers, get_attribute_parts}; use dom::element::{HTMLHtmlElementTypeId, HTMLHeadElementTypeId, HTMLTitleElementTypeId}; use dom::element::{HTMLBodyElementTypeId, HTMLFrameSetElementTypeId}; use dom::event::Event; -use dom::eventtarget::{EventTarget, NodeTargetTypeId}; +use dom::eventtarget::{EventTarget, NodeTargetTypeId, EventTargetHelpers}; use dom::htmlcollection::{HTMLCollection, CollectionFilter}; use dom::htmlelement::HTMLElement; use dom::htmlheadelement::HTMLHeadElement; @@ -44,7 +45,7 @@ use servo_util::namespace::{Namespace, Null}; use servo_util::str::{DOMString, null_str_as_empty_ref}; use collections::hashmap::HashMap; -use js::jsapi::JSContext; +use js::jsapi::{JSObject, JSContext}; use std::ascii::StrAsciiExt; use url::{Url, from_str}; @@ -325,6 +326,8 @@ pub trait DocumentMethods { fn Applets(&self) -> Temporary<HTMLCollection>; fn Location(&mut self) -> Temporary<Location>; fn Children(&self) -> Temporary<HTMLCollection>; + fn GetOnload(&self, _cx: *mut JSContext) -> *mut JSObject; + fn SetOnload(&mut self, _cx: *mut JSContext, listener: *mut JSObject); } impl<'a> DocumentMethods for JSRef<'a, Document> { @@ -804,4 +807,14 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { let window = self.window.root(); HTMLCollection::children(&*window, NodeCast::from_ref(self)) } + + fn GetOnload(&self, _cx: *mut JSContext) -> *mut JSObject { + let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + eventtarget.get_event_handler_common("load") + } + + fn SetOnload(&mut self, _cx: *mut JSContext, listener: *mut JSObject) { + let eventtarget: &mut JSRef<EventTarget> = EventTargetCast::from_mut_ref(self); + eventtarget.set_event_handler_common("load", listener) + } } |