aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/document.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-04-21 20:19:32 -0400
committerMs2ger <ms2ger@gmail.com>2014-05-27 20:43:48 +0200
commit2d6153772cc316be229d68e4d267600da406fcd4 (patch)
tree660e36fb22e5a842c67719f1593aa800b367a4f1 /src/components/script/dom/document.rs
parent2717ab65ecae6cf4ab38b6c1b9ea3f02d4913252 (diff)
downloadservo-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.rs17
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)
+ }
}