mirror of
https://github.com/servo/servo.git
synced 2025-06-20 15:18:58 +01:00
Generate code for handling callbacks. Implement add/removeEventListener and hacky dispatchEvent proof-of-concept.
This commit is contained in:
parent
06b1db8818
commit
7ecf5abbbd
18 changed files with 491 additions and 331 deletions
|
@ -12,6 +12,7 @@ use dom::document::{AbstractDocument, DocumentTypeId};
|
|||
use dom::documenttype::DocumentType;
|
||||
use dom::element::{Element, ElementTypeId, HTMLImageElementTypeId, HTMLIframeElementTypeId};
|
||||
use dom::element::{HTMLStyleElementTypeId};
|
||||
use dom::eventtarget::EventTarget;
|
||||
use dom::nodelist::{NodeList};
|
||||
use dom::htmlimageelement::HTMLImageElement;
|
||||
use dom::htmliframeelement::HTMLIFrameElement;
|
||||
|
@ -63,7 +64,7 @@ pub struct AbstractNodeChildrenIterator<View> {
|
|||
/// `LayoutData`.
|
||||
pub struct Node<View> {
|
||||
/// The JavaScript reflector for this node.
|
||||
reflector_: Reflector,
|
||||
eventtarget: EventTarget,
|
||||
|
||||
/// The type of node that this is.
|
||||
type_id: NodeTypeId,
|
||||
|
@ -521,7 +522,7 @@ impl Node<ScriptView> {
|
|||
|
||||
fn new_(type_id: NodeTypeId, doc: Option<AbstractDocument>) -> Node<ScriptView> {
|
||||
Node {
|
||||
reflector_: Reflector::new(),
|
||||
eventtarget: EventTarget::new(),
|
||||
type_id: type_id,
|
||||
|
||||
abstract: None,
|
||||
|
@ -961,11 +962,11 @@ impl Node<ScriptView> {
|
|||
|
||||
impl Reflectable for Node<ScriptView> {
|
||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||
&self.reflector_
|
||||
self.eventtarget.reflector()
|
||||
}
|
||||
|
||||
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
|
||||
&mut self.reflector_
|
||||
self.eventtarget.mut_reflector()
|
||||
}
|
||||
|
||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue