Generate the TypeId enums in codegen

This commit is contained in:
Anthony Ramine 2015-09-27 13:37:57 +02:00
parent 55769b2fbf
commit aab2c40389
107 changed files with 678 additions and 774 deletions

View file

@ -33,11 +33,9 @@ use inline::{InlineFragmentNodeInfo, LAST_FRAGMENT_OF_ELEMENT};
use list_item::{ListItemFlow, ListStyleTypeContent}; use list_item::{ListItemFlow, ListStyleTypeContent};
use multicol::MulticolFlow; use multicol::MulticolFlow;
use parallel; use parallel;
use script::dom::characterdata::CharacterDataTypeId; use script::dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, ElementTypeId};
use script::dom::element::ElementTypeId; use script::dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use script::dom::htmlelement::HTMLElementTypeId;
use script::dom::htmlobjectelement::is_image_data; use script::dom::htmlobjectelement::is_image_data;
use script::dom::node::NodeTypeId;
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::collections::LinkedList; use std::collections::LinkedList;
use std::mem; use std::mem;

View file

@ -10,8 +10,7 @@ use animation;
use context::SharedLayoutContext; use context::SharedLayoutContext;
use data::LayoutDataWrapper; use data::LayoutDataWrapper;
use incremental::{self, RestyleDamage}; use incremental::{self, RestyleDamage};
use script::dom::characterdata::CharacterDataTypeId; use script::dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, NodeTypeId};
use script::dom::node::NodeTypeId;
use script::layout_interface::Animation; use script::layout_interface::Animation;
use selectors::bloom::BloomFilter; use selectors::bloom::BloomFilter;
use selectors::matching::{CommonStyleAffectingAttributeMode, CommonStyleAffectingAttributes}; use selectors::matching::{CommonStyleAffectingAttributeMode, CommonStyleAffectingAttributes};

View file

@ -40,22 +40,22 @@ use ipc_channel::ipc::IpcSender;
use msg::constellation_msg::PipelineId; use msg::constellation_msg::PipelineId;
use opaque_node::OpaqueNodeMethods; use opaque_node::OpaqueNodeMethods;
use script::dom::attr::AttrValue; use script::dom::attr::AttrValue;
use script::dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast}; use script::dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId};
use script::dom::bindings::codegen::InheritTypes::{HTMLCanvasElementCast, HTMLIFrameElementCast}; use script::dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use script::dom::bindings::codegen::InheritTypes::{HTMLImageElementCast, HTMLInputElementCast}; use script::dom::bindings::codegen::InheritTypes::{HTMLCanvasElementCast, HTMLElementTypeId};
use script::dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, NodeCast, TextCast}; use script::dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLImageElementCast};
use script::dom::bindings::codegen::InheritTypes::{HTMLInputElementCast, HTMLTextAreaElementCast};
use script::dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast};
use script::dom::bindings::js::LayoutJS; use script::dom::bindings::js::LayoutJS;
use script::dom::characterdata::{CharacterDataTypeId, LayoutCharacterDataHelpers}; use script::dom::characterdata::LayoutCharacterDataHelpers;
use script::dom::element::{Element, ElementTypeId}; use script::dom::element::Element;
use script::dom::element::{LayoutElementHelpers, RawLayoutElementHelpers}; use script::dom::element::{LayoutElementHelpers, RawLayoutElementHelpers};
use script::dom::htmlcanvaselement::LayoutHTMLCanvasElementHelpers; use script::dom::htmlcanvaselement::LayoutHTMLCanvasElementHelpers;
use script::dom::htmlelement::HTMLElementTypeId;
use script::dom::htmlimageelement::LayoutHTMLImageElementHelpers; use script::dom::htmlimageelement::LayoutHTMLImageElementHelpers;
use script::dom::htmlinputelement::{HTMLInputElement, LayoutHTMLInputElementHelpers}; use script::dom::htmlinputelement::{HTMLInputElement, LayoutHTMLInputElementHelpers};
use script::dom::htmltextareaelement::LayoutHTMLTextAreaElementHelpers; use script::dom::htmltextareaelement::LayoutHTMLTextAreaElementHelpers;
use script::dom::node::{HAS_CHANGED, HAS_DIRTY_DESCENDANTS, HAS_DIRTY_SIBLINGS, IS_DIRTY}; use script::dom::node::{HAS_CHANGED, HAS_DIRTY_DESCENDANTS, HAS_DIRTY_SIBLINGS, IS_DIRTY};
use script::dom::node::{LayoutNodeHelpers, SharedLayoutData}; use script::dom::node::{LayoutNodeHelpers, Node, SharedLayoutData};
use script::dom::node::{Node, NodeTypeId};
use script::dom::text::Text; use script::dom::text::Text;
use selectors::matching::DeclarationBlock; use selectors::matching::DeclarationBlock;
use selectors::parser::{AttrSelector, NamespaceConstraint}; use selectors::parser::{AttrSelector, NamespaceConstraint};

View file

@ -4,6 +4,8 @@
# Common codegen classes. # Common codegen classes.
from collections import defaultdict
import operator import operator
import re import re
import string import string
@ -1722,23 +1724,20 @@ class CGNamespace(CGWrapper):
return CGNamespace(namespaces[0], inner, public=public) return CGNamespace(namespaces[0], inner, public=public)
def EventTargetEnum(desc): def DOMClassTypeId(desc):
protochain = desc.prototypeChain protochain = desc.prototypeChain
if protochain[0] != "EventTarget" or desc.interface.getExtendedAttribute("Abstract"):
return "None"
inner = "" inner = ""
name = desc.interface.identifier.name if desc.hasDescendants():
if desc.interface.getUserData("hasConcreteDescendant", False): if desc.interface.getExtendedAttribute("Abstract"):
inner = "(::dom::%s::%sTypeId::%s)" % (name.lower(), name, name) return "::dom::bindings::codegen::InheritTypes::TopTypeId::Abstract"
prev_proto = "" name = desc.interface.identifier.name
for proto in reversed(protochain): inner = "(::dom::bindings::codegen::InheritTypes::%sTypeId::%s)" % (name, name)
if prev_proto != "": elif len(protochain) == 1:
inner = "(::dom::%s::%sTypeId::%s%s)" % (proto.lower(), proto, prev_proto, inner) return "::dom::bindings::codegen::InheritTypes::TopTypeId::Alone"
prev_proto = proto reversed_protochain = list(reversed(protochain))
if inner == "": for (child, parent) in zip(reversed_protochain, reversed_protochain[1:]):
return "None" inner = "(::dom::bindings::codegen::InheritTypes::%sTypeId::%s%s)" % (parent, child, inner)
return "Some%s" % inner return "::dom::bindings::codegen::InheritTypes::TopTypeId::%s%s" % (protochain[0], inner)
def DOMClass(descriptor): def DOMClass(descriptor):
@ -1754,7 +1753,7 @@ DOMClass {
interface_chain: [ %s ], interface_chain: [ %s ],
native_hooks: &sNativePropertyHooks, native_hooks: &sNativePropertyHooks,
type_id: %s, type_id: %s,
}""" % (prototypeChainString, EventTargetEnum(descriptor)) }""" % (prototypeChainString, DOMClassTypeId(descriptor))
class CGDOMJSClass(CGThing): class CGDOMJSClass(CGThing):
@ -5815,23 +5814,29 @@ class GlobalGenRoots():
def InheritTypes(config): def InheritTypes(config):
descriptors = config.getDescriptors(register=True, isCallback=False) descriptors = config.getDescriptors(register=True, isCallback=False)
allprotos = [CGGeneric("use dom::types::*;\n"), imports = [CGGeneric("use dom::types::*;\n"),
CGGeneric("use dom::bindings::js::{JS, LayoutJS, Root};\n"), CGGeneric("use dom::bindings::conversions::get_dom_class;\n"),
CGGeneric("use dom::bindings::trace::JSTraceable;\n"), CGGeneric("use dom::bindings::js::{JS, LayoutJS, Root};\n"),
CGGeneric("use dom::bindings::utils::Reflectable;\n"), CGGeneric("use dom::bindings::trace::JSTraceable;\n"),
CGGeneric("use js::jsapi::JSTracer;\n\n"), CGGeneric("use dom::bindings::utils::Reflectable;\n"),
CGGeneric("use std::mem;\n\n")] CGGeneric("use js::jsapi::JSTracer;\n\n"),
CGGeneric("use std::mem;\n\n")]
allprotos = []
topTypes = []
hierarchy = defaultdict(list)
for descriptor in descriptors: for descriptor in descriptors:
name = descriptor.name name = descriptor.name
chain = descriptor.prototypeChain chain = descriptor.prototypeChain
upcast = (descriptor.interface.getUserData("hasConcreteDescendant", False) or upcast = descriptor.hasDescendants()
descriptor.interface.getUserData("hasProxyDescendant", False))
downcast = len(chain) != 1 downcast = len(chain) != 1
if upcast or downcast: if upcast or downcast:
# Define a dummy structure to hold the cast functions. # Define a dummy structure to hold the cast functions.
allprotos.append(CGGeneric("pub struct %sCast;\n\n" % name)) allprotos.append(CGGeneric("pub struct %sCast;\n\n" % name))
if upcast and not downcast:
topTypes.append(name)
if upcast: if upcast:
# Define a `FooBase` trait for subclasses to implement, as well as the # Define a `FooBase` trait for subclasses to implement, as well as the
# `FooCast::from_*` methods that use it. # `FooCast::from_*` methods that use it.
@ -5872,6 +5877,7 @@ impl %(name)sCast {
allprotos.append(CGGeneric("\n")) allprotos.append(CGGeneric("\n"))
if downcast: if downcast:
hierarchy[descriptor.getParentName()].append(name)
# Define a `FooDerived` trait for superclasses to implement, # Define a `FooDerived` trait for superclasses to implement,
# as well as the `FooCast::to_*` methods that use it. # as well as the `FooCast::to_*` methods that use it.
allprotos.append(CGGeneric("""\ allprotos.append(CGGeneric("""\
@ -5922,7 +5928,7 @@ impl %(name)sCast {
'baseName': baseName, 'baseName': baseName,
'derivedTrait': name + 'Derived', 'derivedTrait': name + 'Derived',
'methodName': 'is_' + name.lower(), 'methodName': 'is_' + name.lower(),
'parentName': config.getDescriptor(baseName).prototypeChain[-2], 'parentName': config.getDescriptor(baseName).getParentName(),
} }
allprotos.append(CGGeneric("""\ allprotos.append(CGGeneric("""\
impl %(derivedTrait)s for %(baseName)s { impl %(derivedTrait)s for %(baseName)s {
@ -5934,7 +5940,54 @@ impl %(derivedTrait)s for %(baseName)s {
""" % args)) """ % args))
curr = CGList(allprotos) typeIdCode = []
topTypeVariants = [
("ID used by abstract interfaces.", "Abstract"),
("ID used by interfaces that are not castable.", "Alone"),
]
topTypeVariants += [
("ID used by interfaces that derive from %s." % name, "%s(%sTypeId)" % (name, name))
for name in topTypes
]
topTypeVariantsAsStrings = [CGGeneric("/// %s\n%s," % variant) for variant in topTypeVariants]
typeIdCode.append(CGWrapper(CGIndenter(CGList(topTypeVariantsAsStrings, "\n"), 4),
pre="#[derive(Clone, Copy, Debug)]\npub enum TopTypeId {\n",
post="\n}\n\n"))
def type_id_variant(name):
# If `name` is present in the hierarchy keys', that means some other interfaces
# derive from it and this enum variant should have an argument with its own
# TypeId enum.
return "%s(%sTypeId)" % (name, name) if name in hierarchy else name
for base, derived in hierarchy.iteritems():
variants = []
if not config.getInterface(base).getExtendedAttribute("Abstract"):
variants.append(CGGeneric(base))
variants += [CGGeneric(type_id_variant(name)) for name in derived]
derives = "Clone, Copy, Debug"
if base != 'EventTarget' and base != 'HTMLElement':
derives += ", PartialEq"
typeIdCode.append(CGWrapper(CGIndenter(CGList(variants, ",\n"), 4),
pre="#[derive(%s)]\npub enum %sTypeId {\n" % (derives, base),
post="\n}\n\n"))
if base in topTypes:
typeIdCode.append(CGGeneric("""\
impl %(base)s {
pub fn type_id(&self) -> &'static %(base)sTypeId {
let domclass = unsafe {
get_dom_class(self.reflector().get_jsobject().get()).unwrap()
};
match domclass.type_id {
TopTypeId::%(base)s(ref type_id) => type_id,
_ => unreachable!(),
}
}
}
""" % {'base': base}))
curr = CGList(imports + typeIdCode + allprotos)
curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT) curr = CGWrapper(curr, pre=AUTOGENERATED_WARNING_COMMENT)
return curr return curr

View file

@ -318,6 +318,14 @@ class Descriptor(DescriptorProvider):
maybeAppendInfallibleToAttrs(attrs, throws) maybeAppendInfallibleToAttrs(attrs, throws)
return attrs return attrs
def getParentName(self):
assert self.interface.parent is not None
return self.interface.parent.identifier.name
def hasDescendants(self):
return (self.interface.getUserData("hasConcreteDescendant", False) or
self.interface.getUserData("hasProxyDescendant", False))
def isGlobal(self): def isGlobal(self):
""" """
Returns true if this is the primary interface for a global object Returns true if this is the primary interface for a global object

View file

@ -4,6 +4,7 @@
//! Various utilities to glue JavaScript and the DOM implementation together. //! Various utilities to glue JavaScript and the DOM implementation together.
use dom::bindings::codegen::InheritTypes::TopTypeId;
use dom::bindings::codegen::PrototypeList; use dom::bindings::codegen::PrototypeList;
use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH; use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH;
use dom::bindings::conversions::native_from_handleobject; use dom::bindings::conversions::native_from_handleobject;
@ -15,7 +16,6 @@ use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::trace::trace_object; use dom::bindings::trace::trace_object;
use dom::browsercontext; use dom::browsercontext;
use dom::eventtarget::EventTargetTypeId;
use dom::window; use dom::window;
use js; use js;
use js::glue::{CallJitGetterOp, CallJitMethodOp, CallJitSetterOp, IsWrapper}; use js::glue::{CallJitGetterOp, CallJitMethodOp, CallJitSetterOp, IsWrapper};
@ -156,8 +156,8 @@ pub struct DOMClass {
/// derivedness. /// derivedness.
pub interface_chain: [PrototypeList::ID; MAX_PROTO_CHAIN_LENGTH], pub interface_chain: [PrototypeList::ID; MAX_PROTO_CHAIN_LENGTH],
/// The EventTarget type, if this is derived from an EventTarget. /// The type ID of that interface.
pub type_id: Option<EventTargetTypeId>, pub type_id: TopTypeId,
/// The NativePropertyHooks for the interface associated with this class. /// The NativePropertyHooks for the interface associated with this class.
pub native_hooks: &'static NativePropertyHooks, pub native_hooks: &'static NativePropertyHooks,

View file

@ -4,7 +4,7 @@
use dom::bindings::codegen::Bindings::BlobBinding; use dom::bindings::codegen::Bindings::BlobBinding;
use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods; use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods;
use dom::bindings::codegen::InheritTypes::FileDerived; use dom::bindings::codegen::InheritTypes::{BlobTypeId, FileDerived};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::{GlobalField, GlobalRef}; use dom::bindings::global::{GlobalField, GlobalRef};
use dom::bindings::js::Root; use dom::bindings::js::Root;
@ -17,17 +17,10 @@ use std::cmp::{max, min};
use std::sync::mpsc::Sender; use std::sync::mpsc::Sender;
use util::str::DOMString; use util::str::DOMString;
#[derive(JSTraceable, HeapSizeOf)]
pub enum BlobTypeId {
Blob,
File,
}
// http://dev.w3.org/2006/webapi/FileAPI/#blob // http://dev.w3.org/2006/webapi/FileAPI/#blob
#[dom_struct] #[dom_struct]
pub struct Blob { pub struct Blob {
reflector_: Reflector, reflector_: Reflector,
type_: BlobTypeId,
bytes: Option<Vec<u8>>, bytes: Option<Vec<u8>>,
typeString: DOMString, typeString: DOMString,
global: GlobalField, global: GlobalField,
@ -41,11 +34,10 @@ fn is_ascii_printable(string: &DOMString) -> bool {
} }
impl Blob { impl Blob {
pub fn new_inherited(global: GlobalRef, type_: BlobTypeId, pub fn new_inherited(global: GlobalRef,
bytes: Option<Vec<u8>>, typeString: &str) -> Blob { bytes: Option<Vec<u8>>, typeString: &str) -> Blob {
Blob { Blob {
reflector_: Reflector::new(), reflector_: Reflector::new(),
type_: type_,
bytes: bytes, bytes: bytes,
typeString: typeString.to_owned(), typeString: typeString.to_owned(),
global: GlobalField::from_rooted(&global), global: GlobalField::from_rooted(&global),
@ -55,7 +47,7 @@ impl Blob {
pub fn new(global: GlobalRef, bytes: Option<Vec<u8>>, pub fn new(global: GlobalRef, bytes: Option<Vec<u8>>,
typeString: &str) -> Root<Blob> { typeString: &str) -> Root<Blob> {
reflect_dom_object(box Blob::new_inherited(global, BlobTypeId::Blob, bytes, typeString), reflect_dom_object(box Blob::new_inherited(global, bytes, typeString),
global, global,
BlobBinding::Wrap) BlobBinding::Wrap)
} }
@ -168,9 +160,6 @@ impl BlobMethods for Blob {
impl FileDerived for Blob { impl FileDerived for Blob {
fn is_file(&self) -> bool { fn is_file(&self) -> bool {
match self.type_ { *self.type_id() == BlobTypeId::File
BlobTypeId::File => true,
_ => false
}
} }
} }

View file

@ -6,15 +6,16 @@
use dom::bindings::cell::DOMRefCell; use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods; use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods;
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::{CharacterDataDerived, CharacterDataTypeId};
use dom::bindings::codegen::InheritTypes::{CharacterDataDerived, ElementCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::js::{LayoutJS, Root}; use dom::bindings::js::{LayoutJS, Root};
use dom::document::Document; use dom::document::Document;
use dom::element::Element; use dom::element::Element;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::node::{Node, NodeDamage, NodeTypeId}; use dom::node::{Node, NodeDamage};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::cell::Ref; use std::cell::Ref;
use util::str::DOMString; use util::str::DOMString;
@ -156,15 +157,6 @@ impl CharacterDataMethods for CharacterData {
} }
} }
/// The different types of CharacterData.
#[derive(Copy, Clone, PartialEq, Debug)]
pub enum CharacterDataTypeId {
Comment,
Text,
ProcessingInstruction,
}
impl CharacterData { impl CharacterData {
#[inline] #[inline]
pub fn data(&self) -> Ref<DOMString> { pub fn data(&self) -> Ref<DOMString> {

View file

@ -10,7 +10,7 @@ use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use script_task::ScriptChan; use script_task::ScriptChan;
use util::str::DOMString; use util::str::DOMString;
@ -23,10 +23,10 @@ pub struct CloseEvent {
} }
impl CloseEvent { impl CloseEvent {
pub fn new_inherited(type_id: EventTypeId, wasClean: bool, code: u16, pub fn new_inherited(wasClean: bool, code: u16,
reason: DOMString) -> CloseEvent { reason: DOMString) -> CloseEvent {
CloseEvent { CloseEvent {
event: Event::new_inherited(type_id), event: Event::new_inherited(),
wasClean: wasClean, wasClean: wasClean,
code: code, code: code,
reason: reason, reason: reason,
@ -40,8 +40,7 @@ impl CloseEvent {
wasClean: bool, wasClean: bool,
code: u16, code: u16,
reason: DOMString) -> Root<CloseEvent> { reason: DOMString) -> Root<CloseEvent> {
let event = box CloseEvent::new_inherited(EventTypeId::CloseEvent, let event = box CloseEvent::new_inherited(wasClean, code, reason);
wasClean, code, reason);
let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap); let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap);
{ {
let event = EventCast::from_ref(ev.r()); let event = EventCast::from_ref(ev.r());

View file

@ -4,14 +4,15 @@
use dom::bindings::codegen::Bindings::CommentBinding; use dom::bindings::codegen::Bindings::CommentBinding;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::CommentDerived; use dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, CommentDerived};
use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeTypeId};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::characterdata::{CharacterData, CharacterDataTypeId}; use dom::characterdata::CharacterData;
use dom::document::Document; use dom::document::Document;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use util::str::DOMString; use util::str::DOMString;
/// An HTML comment. /// An HTML comment.

View file

@ -5,12 +5,12 @@
use dom::bindings::codegen::Bindings::CustomEventBinding; use dom::bindings::codegen::Bindings::CustomEventBinding;
use dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods; use dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods;
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::InheritTypes::{CustomEventDerived, EventCast}; use dom::bindings::codegen::InheritTypes::{CustomEventDerived, EventCast, EventTypeId};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutHeapJSVal, Root}; use dom::bindings::js::{MutHeapJSVal, Root};
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventTypeId}; use dom::event::Event;
use js::jsapi::{HandleValue, JSContext}; use js::jsapi::{HandleValue, JSContext};
use js::jsval::JSVal; use js::jsval::JSVal;
use util::str::DOMString; use util::str::DOMString;
@ -30,15 +30,15 @@ impl CustomEventDerived for Event {
} }
impl CustomEvent { impl CustomEvent {
fn new_inherited(type_id: EventTypeId) -> CustomEvent { fn new_inherited() -> CustomEvent {
CustomEvent { CustomEvent {
event: Event::new_inherited(type_id), event: Event::new_inherited(),
detail: MutHeapJSVal::new(), detail: MutHeapJSVal::new(),
} }
} }
pub fn new_uninitialized(global: GlobalRef) -> Root<CustomEvent> { pub fn new_uninitialized(global: GlobalRef) -> Root<CustomEvent> {
reflect_dom_object(box CustomEvent::new_inherited(EventTypeId::CustomEvent), reflect_dom_object(box CustomEvent::new_inherited(),
global, global,
CustomEventBinding::Wrap) CustomEventBinding::Wrap)
} }

View file

@ -9,18 +9,19 @@ use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding;
use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding::DedicatedWorkerGlobalScopeMethods; use dom::bindings::codegen::Bindings::DedicatedWorkerGlobalScopeBinding::DedicatedWorkerGlobalScopeMethods;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::InheritTypes::DedicatedWorkerGlobalScopeDerived; use dom::bindings::codegen::InheritTypes::DedicatedWorkerGlobalScopeDerived;
use dom::bindings::codegen::InheritTypes::{EventTargetCast, WorkerGlobalScopeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{WorkerGlobalScopeCast, WorkerGlobalScopeTypeId};
use dom::bindings::error::ErrorResult; use dom::bindings::error::ErrorResult;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Root, RootCollection}; use dom::bindings::js::{Root, RootCollection};
use dom::bindings::refcounted::LiveDOMReferences; use dom::bindings::refcounted::LiveDOMReferences;
use dom::bindings::structuredclone::StructuredCloneData; use dom::bindings::structuredclone::StructuredCloneData;
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::messageevent::MessageEvent; use dom::messageevent::MessageEvent;
use dom::worker::{SimpleWorkerErrorHandler, TrustedWorkerAddress, WorkerMessageHandler}; use dom::worker::{SimpleWorkerErrorHandler, TrustedWorkerAddress, WorkerMessageHandler};
use dom::workerglobalscope::WorkerGlobalScope; use dom::workerglobalscope::WorkerGlobalScope;
use dom::workerglobalscope::{WorkerGlobalScopeInit, WorkerGlobalScopeTypeId}; use dom::workerglobalscope::WorkerGlobalScopeInit;
use ipc_channel::ipc::IpcReceiver; use ipc_channel::ipc::IpcReceiver;
use ipc_channel::router::ROUTER; use ipc_channel::router::ROUTER;
use js::jsapi::{HandleValue, JSContext, RootedValue}; use js::jsapi::{HandleValue, JSContext, RootedValue};

View file

@ -14,16 +14,18 @@ use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::Bindings::NodeFilterBinding::NodeFilter; use dom::bindings::codegen::Bindings::NodeFilterBinding::NodeFilter;
use dom::bindings::codegen::Bindings::PerformanceBinding::PerformanceMethods; use dom::bindings::codegen::Bindings::PerformanceBinding::PerformanceMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::ElementDerived; use dom::bindings::codegen::InheritTypes::{DocumentDerived, DocumentTypeCast, ElementCast};
use dom::bindings::codegen::InheritTypes::HTMLBaseElementCast; use dom::bindings::codegen::InheritTypes::{ElementDerived, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{DocumentDerived, EventCast, HTMLBodyElementCast}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementCast, HTMLAnchorElementDerived};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLHeadElementCast, HTMLIFrameElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLAppletElementDerived, HTMLAreaElementDerived};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLAnchorElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLBaseElementCast, HTMLBodyElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLAppletElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLEmbedElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLEmbedElementDerived, HTMLFormElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLImageElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, HTMLHtmlElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLImageElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived, HTMLTitleElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived, HTMLTitleElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
@ -39,13 +41,13 @@ use dom::customevent::CustomEvent;
use dom::documentfragment::DocumentFragment; use dom::documentfragment::DocumentFragment;
use dom::documenttype::DocumentType; use dom::documenttype::DocumentType;
use dom::domimplementation::DOMImplementation; use dom::domimplementation::DOMImplementation;
use dom::element::{Element, ElementCreator, ElementTypeId}; use dom::element::{Element, ElementCreator};
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::{EventTarget};
use dom::htmlanchorelement::HTMLAnchorElement; use dom::htmlanchorelement::HTMLAnchorElement;
use dom::htmlbaseelement::HTMLBaseElement; use dom::htmlbaseelement::HTMLBaseElement;
use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlcollection::{CollectionFilter, HTMLCollection};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::{HTMLElement};
use dom::htmlheadelement::HTMLHeadElement; use dom::htmlheadelement::HTMLHeadElement;
use dom::htmlhtmlelement::HTMLHtmlElement; use dom::htmlhtmlelement::HTMLHtmlElement;
use dom::htmliframeelement::{self, HTMLIFrameElement}; use dom::htmliframeelement::{self, HTMLIFrameElement};
@ -54,7 +56,7 @@ use dom::keyboardevent::KeyboardEvent;
use dom::location::Location; use dom::location::Location;
use dom::messageevent::MessageEvent; use dom::messageevent::MessageEvent;
use dom::mouseevent::MouseEvent; use dom::mouseevent::MouseEvent;
use dom::node::{self, CloneChildrenFlag, Node, NodeDamage, NodeTypeId, window_from_node}; use dom::node::{self, CloneChildrenFlag, Node, NodeDamage, window_from_node};
use dom::nodeiterator::NodeIterator; use dom::nodeiterator::NodeIterator;
use dom::nodelist::NodeList; use dom::nodelist::NodeList;
use dom::processinginstruction::ProcessingInstruction; use dom::processinginstruction::ProcessingInstruction;

View file

@ -5,17 +5,17 @@
use dom::bindings::codegen::Bindings::DocumentFragmentBinding; use dom::bindings::codegen::Bindings::DocumentFragmentBinding;
use dom::bindings::codegen::Bindings::DocumentFragmentBinding::DocumentFragmentMethods; use dom::bindings::codegen::Bindings::DocumentFragmentBinding::DocumentFragmentMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::DocumentFragmentDerived; use dom::bindings::codegen::InheritTypes::{DocumentFragmentDerived, ElementCast};
use dom::bindings::codegen::InheritTypes::{ElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeCast, NodeTypeId};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{ErrorResult, Fallible}; use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::Element; use dom::element::Element;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlcollection::HTMLCollection; use dom::htmlcollection::HTMLCollection;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::nodelist::NodeList; use dom::nodelist::NodeList;
use string_cache::Atom; use string_cache::Atom;
use util::str::DOMString; use util::str::DOMString;

View file

@ -4,13 +4,14 @@
use dom::bindings::codegen::Bindings::DocumentTypeBinding; use dom::bindings::codegen::Bindings::DocumentTypeBinding;
use dom::bindings::codegen::Bindings::DocumentTypeBinding::DocumentTypeMethods; use dom::bindings::codegen::Bindings::DocumentTypeBinding::DocumentTypeMethods;
use dom::bindings::codegen::InheritTypes::{DocumentTypeDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{DocumentTypeDerived, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::ErrorResult; use dom::bindings::error::ErrorResult;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use std::borrow::ToOwned; use std::borrow::ToOwned;
use util::str::DOMString; use util::str::DOMString;

View file

@ -20,13 +20,15 @@ use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateEl
use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods; use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentDerived, ElementCast}; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentDerived, ElementCast};
use dom::bindings::codegen::InheritTypes::{ElementDerived, EventTargetCast, HTMLAnchorElementCast}; use dom::bindings::codegen::InheritTypes::{ElementDerived, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLBodyElementCast, HTMLFontElementCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementCast, HTMLBodyElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFontElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLInputElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementCast, HTMLInputElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementCast, HTMLTableElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementCast, HTMLTableElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLTableRowElementCast, HTMLTableSectionElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableRowElementCast, HTMLTableSectionElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, HTMLTextAreaElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, HTMLTextAreaElementCast};
use dom::bindings::codegen::InheritTypes::{NodeCast, TextCast}; use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::js::{JS, LayoutJS, MutNullableHeap}; use dom::bindings::js::{JS, LayoutJS, MutNullableHeap};
@ -39,15 +41,14 @@ use dom::domrect::DOMRect;
use dom::domrectlist::DOMRectList; use dom::domrectlist::DOMRectList;
use dom::domtokenlist::DOMTokenList; use dom::domtokenlist::DOMTokenList;
use dom::event::Event; use dom::event::Event;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlcollection::HTMLCollection; use dom::htmlcollection::HTMLCollection;
use dom::htmlelement::HTMLElementTypeId;
use dom::htmlinputelement::{HTMLInputElement, RawLayoutHTMLInputElementHelpers}; use dom::htmlinputelement::{HTMLInputElement, RawLayoutHTMLInputElementHelpers};
use dom::htmltablecellelement::HTMLTableCellElementLayoutHelpers; use dom::htmltablecellelement::HTMLTableCellElementLayoutHelpers;
use dom::htmltableelement::HTMLTableElement; use dom::htmltableelement::HTMLTableElement;
use dom::htmltextareaelement::RawLayoutHTMLTextAreaElementHelpers; use dom::htmltextareaelement::RawLayoutHTMLTextAreaElementHelpers;
use dom::namednodemap::NamedNodeMap; use dom::namednodemap::NamedNodeMap;
use dom::node::{CLICK_IN_PROGRESS, LayoutNodeHelpers, Node, NodeTypeId, SEQUENTIALLY_FOCUSABLE}; use dom::node::{CLICK_IN_PROGRESS, LayoutNodeHelpers, Node, SEQUENTIALLY_FOCUSABLE};
use dom::node::{NodeDamage, document_from_node}; use dom::node::{NodeDamage, document_from_node};
use dom::node::{window_from_node}; use dom::node::{window_from_node};
use dom::nodelist::NodeList; use dom::nodelist::NodeList;
@ -106,12 +107,6 @@ impl PartialEq for Element {
} }
} }
#[derive(Copy, Clone, PartialEq, Debug)]
pub enum ElementTypeId {
HTMLElement(HTMLElementTypeId),
Element,
}
#[derive(PartialEq, HeapSizeOf)] #[derive(PartialEq, HeapSizeOf)]
pub enum ElementCreator { pub enum ElementCreator {
ParserCreated, ParserCreated,

View file

@ -6,13 +6,13 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::ErrorEventBinding; use dom::bindings::codegen::Bindings::ErrorEventBinding;
use dom::bindings::codegen::Bindings::ErrorEventBinding::ErrorEventMethods; use dom::bindings::codegen::Bindings::ErrorEventBinding::ErrorEventMethods;
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::InheritTypes::{ErrorEventDerived, EventCast}; use dom::bindings::codegen::InheritTypes::{ErrorEventDerived, EventCast, EventTypeId};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutHeapJSVal, Root}; use dom::bindings::js::{MutHeapJSVal, Root};
use dom::bindings::trace::JSTraceable; use dom::bindings::trace::JSTraceable;
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use js::jsapi::{HandleValue, JSContext}; use js::jsapi::{HandleValue, JSContext};
use js::jsval::JSVal; use js::jsval::JSVal;
use std::borrow::ToOwned; use std::borrow::ToOwned;
@ -37,9 +37,9 @@ impl ErrorEventDerived for Event {
} }
impl ErrorEvent { impl ErrorEvent {
fn new_inherited(type_id: EventTypeId) -> ErrorEvent { fn new_inherited() -> ErrorEvent {
ErrorEvent { ErrorEvent {
event: Event::new_inherited(type_id), event: Event::new_inherited(),
message: DOMRefCell::new("".to_owned()), message: DOMRefCell::new("".to_owned()),
filename: DOMRefCell::new("".to_owned()), filename: DOMRefCell::new("".to_owned()),
lineno: Cell::new(0), lineno: Cell::new(0),
@ -49,7 +49,7 @@ impl ErrorEvent {
} }
pub fn new_uninitialized(global: GlobalRef) -> Root<ErrorEvent> { pub fn new_uninitialized(global: GlobalRef) -> Root<ErrorEvent> {
reflect_dom_object(box ErrorEvent::new_inherited(EventTypeId::ErrorEvent), reflect_dom_object(box ErrorEvent::new_inherited(),
global, global,
ErrorEventBinding::Wrap) ErrorEventBinding::Wrap)
} }

View file

@ -10,7 +10,6 @@ use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::eventtarget::EventTarget; use dom::eventtarget::EventTarget;
use dom::uievent::{UIEventTypeId};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::cell::Cell; use std::cell::Cell;
use std::default::Default; use std::default::Default;
@ -27,19 +26,6 @@ pub enum EventPhase {
Bubbling = EventConstants::BUBBLING_PHASE, Bubbling = EventConstants::BUBBLING_PHASE,
} }
#[derive(JSTraceable, PartialEq, HeapSizeOf)]
pub enum EventTypeId {
CustomEvent,
HTMLEvent,
MessageEvent,
ProgressEvent,
StorageEvent,
UIEvent(UIEventTypeId),
ErrorEvent,
CloseEvent,
WebGLContextEvent,
}
#[derive(PartialEq, HeapSizeOf)] #[derive(PartialEq, HeapSizeOf)]
pub enum EventBubbles { pub enum EventBubbles {
Bubbles, Bubbles,
@ -55,7 +41,6 @@ pub enum EventCancelable {
#[dom_struct] #[dom_struct]
pub struct Event { pub struct Event {
reflector_: Reflector, reflector_: Reflector,
type_id: EventTypeId,
current_target: MutNullableHeap<JS<EventTarget>>, current_target: MutNullableHeap<JS<EventTarget>>,
target: MutNullableHeap<JS<EventTarget>>, target: MutNullableHeap<JS<EventTarget>>,
type_: DOMRefCell<DOMString>, type_: DOMRefCell<DOMString>,
@ -72,10 +57,9 @@ pub struct Event {
} }
impl Event { impl Event {
pub fn new_inherited(type_id: EventTypeId) -> Event { pub fn new_inherited() -> Event {
Event { Event {
reflector_: Reflector::new(), reflector_: Reflector::new(),
type_id: type_id,
current_target: Default::default(), current_target: Default::default(),
target: Default::default(), target: Default::default(),
phase: Cell::new(EventPhase::None), phase: Cell::new(EventPhase::None),
@ -93,7 +77,7 @@ impl Event {
} }
pub fn new_uninitialized(global: GlobalRef) -> Root<Event> { pub fn new_uninitialized(global: GlobalRef) -> Root<Event> {
reflect_dom_object(box Event::new_inherited(EventTypeId::HTMLEvent), reflect_dom_object(box Event::new_inherited(),
global, global,
EventBinding::Wrap) EventBinding::Wrap)
} }
@ -115,11 +99,6 @@ impl Event {
Ok(Event::new(global, type_, bubbles, cancelable)) Ok(Event::new(global, type_, bubbles, cancelable))
} }
#[inline]
pub fn type_id(&self) -> &EventTypeId {
&self.type_id
}
#[inline] #[inline]
pub fn clear_current_target(&self) { pub fn clear_current_target(&self) {
self.current_target.set(None); self.current_target.set(None);

View file

@ -7,15 +7,12 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener; use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener;
use dom::bindings::codegen::Bindings::EventTargetBinding::EventTargetMethods; use dom::bindings::codegen::Bindings::EventTargetBinding::EventTargetMethods;
use dom::bindings::conversions::get_dom_class; use dom::bindings::codegen::InheritTypes::EventTargetTypeId;
use dom::bindings::error::{Error, Fallible, report_pending_exception}; use dom::bindings::error::{Error, Fallible, report_pending_exception};
use dom::bindings::utils::{Reflectable, Reflector}; use dom::bindings::utils::{Reflectable, Reflector};
use dom::event::Event; use dom::event::Event;
use dom::eventdispatcher::dispatch_event; use dom::eventdispatcher::dispatch_event;
use dom::node::NodeTypeId;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use dom::workerglobalscope::WorkerGlobalScopeTypeId;
use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId;
use fnv::FnvHasher; use fnv::FnvHasher;
use js::jsapi::{CompileFunction, JS_GetFunctionObject}; use js::jsapi::{CompileFunction, JS_GetFunctionObject};
use js::jsapi::{HandleObject, JSContext, RootedFunction}; use js::jsapi::{HandleObject, JSContext, RootedFunction};
@ -42,17 +39,6 @@ pub enum ListenerPhase {
Bubbling, Bubbling,
} }
#[derive(Copy, Clone)]
pub enum EventTargetTypeId {
Node(NodeTypeId),
WebSocket,
Window,
Worker,
FileReader,
WorkerGlobalScope(WorkerGlobalScopeTypeId),
XMLHttpRequestEventTarget(XMLHttpRequestEventTargetTypeId)
}
impl PartialEq for EventTargetTypeId { impl PartialEq for EventTargetTypeId {
#[inline] #[inline]
fn eq(&self, other: &EventTargetTypeId) -> bool { fn eq(&self, other: &EventTargetTypeId) -> bool {
@ -153,14 +139,6 @@ impl EventTarget {
}) })
} }
#[allow(unsafe_code)]
pub fn type_id(&self) -> &EventTargetTypeId {
let domclass = unsafe {
get_dom_class(self.reflector_.get_jsobject().get()).unwrap()
};
domclass.type_id.as_ref().unwrap()
}
pub fn dispatch_event_with_target(&self, pub fn dispatch_event_with_target(&self,
target: &EventTarget, target: &EventTarget,
event: &Event) -> bool { event: &Event) -> bool {

View file

@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::FileBinding::FileMethods;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::blob::{Blob, BlobTypeId}; use dom::blob::Blob;
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]
@ -17,11 +17,11 @@ pub struct File {
} }
impl File { impl File {
fn new_inherited(global: GlobalRef, type_: BlobTypeId, fn new_inherited(global: GlobalRef,
_file_bits: &Blob, name: DOMString) -> File { _file_bits: &Blob, name: DOMString) -> File {
File { File {
//TODO: get type from the underlying filesystem instead of "".to_string() //TODO: get type from the underlying filesystem instead of "".to_string()
blob: Blob::new_inherited(global, type_, None, ""), blob: Blob::new_inherited(global, None, ""),
name: name, name: name,
} }
// XXXManishearth Once Blob is able to store data // XXXManishearth Once Blob is able to store data
@ -29,7 +29,7 @@ impl File {
} }
pub fn new(global: GlobalRef, file_bits: &Blob, name: DOMString) -> Root<File> { pub fn new(global: GlobalRef, file_bits: &Blob, name: DOMString) -> Root<File> {
reflect_dom_object(box File::new_inherited(global, BlobTypeId::File, file_bits, name), reflect_dom_object(box File::new_inherited(global, file_bits, name),
global, global,
FileBinding::Wrap) FileBinding::Wrap)
} }

View file

@ -10,17 +10,18 @@ use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding;
use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding::HTMLAnchorElementMethods; use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding::HTMLAnchorElementMethods;
use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods; use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLImageElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{MouseEventCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLImageElementDerived};
use dom::bindings::codegen::InheritTypes::{MouseEventCast, NodeCast, NodeTypeId};
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::document::Document; use dom::document::Document;
use dom::domtokenlist::DOMTokenList; use dom::domtokenlist::DOMTokenList;
use dom::element::{Element, ElementTypeId}; use dom::element::Element;
use dom::event::Event; use dom::event::Event;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::node::{Node, document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use num::ToPrimitive; use num::ToPrimitive;
use std::default::Default; use std::default::Default;

View file

@ -5,14 +5,14 @@
use dom::attr::AttrValue; use dom::attr::AttrValue;
use dom::bindings::codegen::Bindings::HTMLAppletElementBinding; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding;
use dom::bindings::codegen::Bindings::HTMLAppletElementBinding::HTMLAppletElementMethods; use dom::bindings::codegen::Bindings::HTMLAppletElementBinding::HTMLAppletElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLAppletElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::{HTMLAppletElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use string_cache::Atom; use string_cache::Atom;
use util::str::DOMString; use util::str::DOMString;

View file

@ -5,16 +5,16 @@
use dom::attr::AttrValue; use dom::attr::AttrValue;
use dom::bindings::codegen::Bindings::HTMLAreaElementBinding; use dom::bindings::codegen::Bindings::HTMLAreaElementBinding;
use dom::bindings::codegen::Bindings::HTMLAreaElementBinding::HTMLAreaElementMethods; use dom::bindings::codegen::Bindings::HTMLAreaElementBinding::HTMLAreaElementMethods;
use dom::bindings::codegen::InheritTypes::ElementCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::document::Document; use dom::document::Document;
use dom::domtokenlist::DOMTokenList; use dom::domtokenlist::DOMTokenList;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::default::Default; use std::default::Default;
use string_cache::Atom; use string_cache::Atom;

View file

@ -3,14 +3,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLAudioElementBinding; use dom::bindings::codegen::Bindings::HTMLAudioElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLAudioElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLAudioElementDerived, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLMediaElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlmediaelement::HTMLMediaElement;
use dom::htmlelement::HTMLElementTypeId; use dom::node::Node;
use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId};
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -4,15 +4,15 @@
use dom::attr::Attr; use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLBaseElementBinding; use dom::bindings::codegen::Bindings::HTMLBaseElementBinding;
use dom::bindings::codegen::InheritTypes::ElementCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::HTMLBaseElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLBaseElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, document_from_node}; use dom::node::{Node, document_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use url::{Url, UrlParser}; use url::{Url, UrlParser};
use util::str::DOMString; use util::str::DOMString;

View file

@ -8,15 +8,17 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::Bindings::HTMLBodyElementBinding::{self, HTMLBodyElementMethods}; use dom::bindings::codegen::Bindings::HTMLBodyElementBinding::{self, HTMLBodyElementMethods};
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId, RawLayoutElementHelpers}; use dom::element::{AttributeMutation, RawLayoutElementHelpers};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::node::{Node, document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::ConstellationChan;
use msg::constellation_msg::Msg as ConstellationMsg; use msg::constellation_msg::Msg as ConstellationMsg;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLBRElementBinding; use dom::bindings::codegen::Bindings::HTMLBRElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLBRElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLBRElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -6,17 +6,19 @@ use dom::activation::Activatable;
use dom::attr::Attr; use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLButtonElementBinding; use dom::bindings::codegen::Bindings::HTMLButtonElementBinding;
use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElementMethods; use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElementMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLButtonElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLButtonElementDerived, HTMLFieldSetElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLButtonElementCast, HTMLButtonElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, NodeCast, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::event::Event; use dom::event::Event;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, FormSubmitter}; use dom::htmlformelement::{FormControl, FormSubmitter};
use dom::htmlformelement::{SubmittedFrom, HTMLFormElement}; use dom::htmlformelement::{SubmittedFrom, HTMLFormElement};
use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::node::{Node, document_from_node, window_from_node};
use dom::validitystate::ValidityState; use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::ascii::AsciiExt; use std::ascii::AsciiExt;

View file

@ -7,18 +7,19 @@ use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding;
use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElementMethods; use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElementMethods;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLContextAttributes; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLContextAttributes;
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLCanvasElementDerived, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, NodeTypeId};
use dom::bindings::codegen::UnionTypes::CanvasRenderingContext2DOrWebGLRenderingContext; use dom::bindings::codegen::UnionTypes::CanvasRenderingContext2DOrWebGLRenderingContext;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{HeapGCValue, JS, LayoutJS, MutNullableHeap, Root}; use dom::bindings::js::{HeapGCValue, JS, LayoutJS, MutNullableHeap, Root};
use dom::bindings::utils::{Reflectable}; use dom::bindings::utils::{Reflectable};
use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers}; use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use dom::webglrenderingcontext::{LayoutCanvasWebGLRenderingContextHelpers, WebGLRenderingContext}; use dom::webglrenderingcontext::{LayoutCanvasWebGLRenderingContextHelpers, WebGLRenderingContext};
use euclid::size::Size2D; use euclid::size::Size2D;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLDataElementBinding; use dom::bindings::codegen::Bindings::HTMLDataElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDataElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDataElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -4,16 +4,16 @@
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding; use dom::bindings::codegen::Bindings::HTMLDataListElementBinding;
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding::HTMLDataListElementMethods; use dom::bindings::codegen::Bindings::HTMLDataListElementBinding::HTMLDataListElementMethods;
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, HTMLOptionElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived, NodeCast, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::Element; use dom::element::Element;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId};
use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlcollection::{CollectionFilter, HTMLCollection};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,13 +5,13 @@
use dom::bindings::cell::DOMRefCell; use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::HTMLDialogElementBinding; use dom::bindings::codegen::Bindings::HTMLDialogElementBinding;
use dom::bindings::codegen::Bindings::HTMLDialogElementBinding::HTMLDialogElementMethods; use dom::bindings::codegen::Bindings::HTMLDialogElementBinding::HTMLDialogElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLDialogElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDialogElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use util::str::DOMString; use util::str::DOMString;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLDirectoryElementBinding; use dom::bindings::codegen::Bindings::HTMLDirectoryElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDirectoryElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDirectoryElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLDivElementBinding::{self, HTMLDivElementMethods}; use dom::bindings::codegen::Bindings::HTMLDivElementBinding::{self, HTMLDivElementMethods};
use dom::bindings::codegen::InheritTypes::HTMLDivElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDivElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLDListElementBinding; use dom::bindings::codegen::Bindings::HTMLDListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDListElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLDListElementDerived, HTMLElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -9,21 +9,22 @@ use dom::bindings::codegen::Bindings::HTMLElementBinding;
use dom::bindings::codegen::Bindings::HTMLElementBinding::HTMLElementMethods; use dom::bindings::codegen::Bindings::HTMLElementBinding::HTMLElementMethods;
use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLFrameSetElementDerived}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLInputElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementDerived, HTMLHtmlElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLBodyElementDerived, HTMLElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameSetElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLHtmlElementDerived, HTMLInputElementCast};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::error::{Error, ErrorResult}; use dom::bindings::error::{Error, ErrorResult};
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration}; use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration};
use dom::document::Document; use dom::document::Document;
use dom::domstringmap::DOMStringMap; use dom::domstringmap::DOMStringMap;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlinputelement::HTMLInputElement; use dom::htmlinputelement::HTMLInputElement;
use dom::htmlmediaelement::HTMLMediaElementTypeId; use dom::node::{Node, SEQUENTIALLY_FOCUSABLE, document_from_node, window_from_node};
use dom::htmltablecellelement::HTMLTableCellElementTypeId;
use dom::node::{Node, NodeTypeId, SEQUENTIALLY_FOCUSABLE, document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use msg::constellation_msg::FocusType; use msg::constellation_msg::FocusType;
use std::borrow::ToOwned; use std::borrow::ToOwned;
@ -340,76 +341,6 @@ impl VirtualMethods for HTMLElement {
} }
} }
#[derive(Copy, Clone, Debug)]
pub enum HTMLElementTypeId {
HTMLElement,
HTMLAnchorElement,
HTMLAppletElement,
HTMLAreaElement,
HTMLBaseElement,
HTMLBRElement,
HTMLBodyElement,
HTMLButtonElement,
HTMLCanvasElement,
HTMLDataElement,
HTMLDataListElement,
HTMLDialogElement,
HTMLDirectoryElement,
HTMLDListElement,
HTMLDivElement,
HTMLEmbedElement,
HTMLFieldSetElement,
HTMLFontElement,
HTMLFormElement,
HTMLFrameElement,
HTMLFrameSetElement,
HTMLHRElement,
HTMLHeadElement,
HTMLHeadingElement,
HTMLHtmlElement,
HTMLIFrameElement,
HTMLImageElement,
HTMLInputElement,
HTMLLabelElement,
HTMLLegendElement,
HTMLLinkElement,
HTMLLIElement,
HTMLMapElement,
HTMLMediaElement(HTMLMediaElementTypeId),
HTMLMetaElement,
HTMLMeterElement,
HTMLModElement,
HTMLObjectElement,
HTMLOListElement,
HTMLOptGroupElement,
HTMLOptionElement,
HTMLOutputElement,
HTMLParagraphElement,
HTMLParamElement,
HTMLPreElement,
HTMLProgressElement,
HTMLQuoteElement,
HTMLScriptElement,
HTMLSelectElement,
HTMLSourceElement,
HTMLSpanElement,
HTMLStyleElement,
HTMLTableElement,
HTMLTableCaptionElement,
HTMLTableCellElement(HTMLTableCellElementTypeId),
HTMLTableColElement,
HTMLTableRowElement,
HTMLTableSectionElement,
HTMLTemplateElement,
HTMLTextAreaElement,
HTMLTimeElement,
HTMLTitleElement,
HTMLTrackElement,
HTMLUListElement,
HTMLUnknownElement,
}
impl PartialEq for HTMLElementTypeId { impl PartialEq for HTMLElementTypeId {
#[inline] #[inline]
#[allow(unsafe_code)] #[allow(unsafe_code)]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLEmbedElementBinding; use dom::bindings::codegen::Bindings::HTMLEmbedElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLEmbedElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLEmbedElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,16 +5,17 @@
use dom::attr::Attr; use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding; use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding;
use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding::HTMLFieldSetElementMethods; use dom::bindings::codegen::Bindings::HTMLFieldSetElementBinding::HTMLFieldSetElementMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLLegendElementDerived}; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, NodeCast, NodeTypeId};
use dom::bindings::js::{Root, RootedReference}; use dom::bindings::js::{Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlcollection::{CollectionFilter, HTMLCollection};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::validitystate::ValidityState; use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use util::str::{DOMString, StaticStringVec}; use util::str::{DOMString, StaticStringVec};

View file

@ -7,13 +7,15 @@ use dom::attr::{Attr, AttrValue};
use dom::bindings::cell::DOMRefCell; use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::HTMLFontElementBinding; use dom::bindings::codegen::Bindings::HTMLFontElementBinding;
use dom::bindings::codegen::Bindings::HTMLFontElementBinding::HTMLFontElementMethods; use dom::bindings::codegen::Bindings::HTMLFontElementBinding::HTMLFontElementMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLFontElementDerived}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLFontElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId, RawLayoutElementHelpers}; use dom::element::{AttributeMutation, RawLayoutElementHelpers};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use string_cache::Atom; use string_cache::Atom;

View file

@ -9,25 +9,23 @@ use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElemen
use dom::bindings::codegen::Bindings::HTMLFormElementBinding; use dom::bindings::codegen::Bindings::HTMLFormElementBinding;
use dom::bindings::codegen::Bindings::HTMLFormElementBinding::HTMLFormElementMethods; use dom::bindings::codegen::Bindings::HTMLFormElementBinding::HTMLFormElementMethods;
use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods;
use dom::bindings::codegen::InheritTypes::EventTargetCast; use dom::bindings::codegen::InheritTypes::{ElementBase, ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::HTMLDataListElementCast; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::{HTMLDataListElementCast, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::HTMLFormElementCast; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFormElementCast};
use dom::bindings::codegen::InheritTypes::HTMLFormElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLInputElementCast};
use dom::bindings::codegen::InheritTypes::HTMLInputElementCast; use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, NodeCast, NodeTypeId};
use dom::bindings::codegen::InheritTypes::{ElementBase, ElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, NodeCast};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Root}; use dom::bindings::js::{Root};
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::document::Document; use dom::document::Document;
use dom::element::{Element, ElementTypeId}; use dom::element::Element;
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlbuttonelement::{HTMLButtonElement}; use dom::htmlbuttonelement::{HTMLButtonElement};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlinputelement::HTMLInputElement; use dom::htmlinputelement::HTMLInputElement;
use dom::node::{Node, NodeTypeId, document_from_node, window_from_node}; use dom::node::{Node, document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use hyper::header::ContentType; use hyper::header::ContentType;
use hyper::method::Method; use hyper::method::Method;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLFrameElementBinding; use dom::bindings::codegen::Bindings::HTMLFrameElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFrameElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLFrameSetElementBinding; use dom::bindings::codegen::Bindings::HTMLFrameSetElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFrameSetElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFrameSetElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLHeadElementBinding; use dom::bindings::codegen::Bindings::HTMLHeadElementBinding;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLHeadElementDerived}; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLHeadElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use dom::userscripts::load_script; use dom::userscripts::load_script;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use util::str::DOMString; use util::str::DOMString;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLHeadingElementBinding; use dom::bindings::codegen::Bindings::HTMLHeadingElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHeadingElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHeadingElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[derive(JSTraceable, HeapSizeOf)] #[derive(JSTraceable, HeapSizeOf)]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLHRElementBinding; use dom::bindings::codegen::Bindings::HTMLHRElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHRElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHRElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLHtmlElementBinding; use dom::bindings::codegen::Bindings::HTMLHtmlElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHtmlElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLHtmlElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -6,9 +6,10 @@ use dom::attr::{Attr, AttrHelpersForLayout, AttrValue};
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding; use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding;
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementMethods; use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::HTMLIFrameElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventCast};
use dom::bindings::codegen::InheritTypes::{ElementCast, EventCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLIFrameElementDerived, NodeCast, NodeTypeId};
use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::conversions::ToJSValConvertible;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
@ -16,10 +17,10 @@ use dom::bindings::js::{Root, LayoutJS};
use dom::bindings::utils::Reflectable; use dom::bindings::utils::Reflectable;
use dom::customevent::CustomEvent; use dom::customevent::CustomEvent;
use dom::document::Document; use dom::document::Document;
use dom::element::{self, AttributeMutation, ElementTypeId}; use dom::element::{self, AttributeMutation};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::urlhelper::UrlHelper; use dom::urlhelper::UrlHelper;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use dom::window::Window; use dom::window::Window;

View file

@ -8,18 +8,20 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::HTMLImageElementBinding; use dom::bindings::codegen::Bindings::HTMLImageElementBinding;
use dom::bindings::codegen::Bindings::HTMLImageElementBinding::HTMLImageElementMethods; use dom::bindings::codegen::Bindings::HTMLImageElementBinding::HTMLImageElementMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLImageElementDerived}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLImageElementDerived, NodeCast, NodeTypeId};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{LayoutJS, Root}; use dom::bindings::js::{LayoutJS, Root};
use dom::bindings::refcounted::Trusted; use dom::bindings::refcounted::Trusted;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeDamage, NodeTypeId, document_from_node, window_from_node}; use dom::node::{Node, NodeDamage, document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use ipc_channel::ipc; use ipc_channel::ipc;
use ipc_channel::router::ROUTER; use ipc_channel::router::ROUTER;

View file

@ -11,20 +11,23 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::HTMLInputElementBinding; use dom::bindings::codegen::Bindings::HTMLInputElementBinding;
use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods;
use dom::bindings::codegen::Bindings::KeyboardEventBinding::KeyboardEventMethods; use dom::bindings::codegen::Bindings::KeyboardEventBinding::KeyboardEventMethods;
use dom::bindings::codegen::InheritTypes::KeyboardEventCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLInputElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLFieldSetElementDerived, HTMLInputElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLInputElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLInputElementDerived, KeyboardEventCast};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, LayoutJS, Root, RootedReference}; use dom::bindings::js::{JS, LayoutJS, Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, Element, ElementTypeId, RawLayoutElementHelpers}; use dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, FormSubmitter, HTMLFormElement, FormDatum}; use dom::htmlformelement::{FormControl, FormDatum, FormSubmitter, HTMLFormElement};
use dom::htmlformelement::{ResetFrom, SubmittedFrom}; use dom::htmlformelement::{ResetFrom, SubmittedFrom};
use dom::keyboardevent::KeyboardEvent; use dom::keyboardevent::KeyboardEvent;
use dom::node::{Node, NodeDamage, NodeTypeId}; use dom::node::{Node, NodeDamage};
use dom::node::{document_from_node, window_from_node}; use dom::node::{document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::ConstellationChan;

View file

@ -4,14 +4,14 @@
use dom::bindings::codegen::Bindings::HTMLLabelElementBinding; use dom::bindings::codegen::Bindings::HTMLLabelElementBinding;
use dom::bindings::codegen::Bindings::HTMLLabelElementBinding::HTMLLabelElementMethods; use dom::bindings::codegen::Bindings::HTMLLabelElementBinding::HTMLLabelElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLLabelElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLLabelElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLLegendElementBinding; use dom::bindings::codegen::Bindings::HTMLLegendElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLegendElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLLIElementBinding; use dom::bindings::codegen::Bindings::HTMLLIElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLIElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLLIElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -8,19 +8,21 @@ use dom::attr::{Attr, AttrValue};
use dom::bindings::codegen::Bindings::HTMLLinkElementBinding; use dom::bindings::codegen::Bindings::HTMLLinkElementBinding;
use dom::bindings::codegen::Bindings::HTMLLinkElementBinding::HTMLLinkElementMethods; use dom::bindings::codegen::Bindings::HTMLLinkElementBinding::HTMLLinkElementMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetCast, HTMLLinkElementDerived}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLLinkElementDerived, NodeCast, NodeTypeId};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::bindings::js::{RootedReference}; use dom::bindings::js::{RootedReference};
use dom::bindings::refcounted::Trusted; use dom::bindings::refcounted::Trusted;
use dom::document::Document; use dom::document::Document;
use dom::domtokenlist::DOMTokenList; use dom::domtokenlist::DOMTokenList;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use layout_interface::{LayoutChan, Msg}; use layout_interface::{LayoutChan, Msg};
use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::ConstellationChan;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLMapElementBinding; use dom::bindings::codegen::Bindings::HTMLMapElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMapElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLMapElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -2,12 +2,12 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::InheritTypes::HTMLMediaElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLMediaElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLMediaElementTypeId, NodeTypeId};
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
use dom::node::NodeTypeId;
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]
@ -40,16 +40,3 @@ impl HTMLMediaElement {
&self.htmlelement &self.htmlelement
} }
} }
#[derive(Copy, Clone, Debug)]
pub enum HTMLMediaElementTypeId {
HTMLAudioElement = 0,
HTMLVideoElement = 1,
}
impl PartialEq for HTMLMediaElementTypeId {
#[inline]
fn eq(&self, other: &HTMLMediaElementTypeId) -> bool {
(*self as u8) == (*other as u8)
}
}

View file

@ -4,14 +4,14 @@
use dom::bindings::codegen::Bindings::HTMLMetaElementBinding; use dom::bindings::codegen::Bindings::HTMLMetaElementBinding;
use dom::bindings::codegen::Bindings::HTMLMetaElementBinding::HTMLMetaElementMethods; use dom::bindings::codegen::Bindings::HTMLMetaElementBinding::HTMLMetaElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLMetaElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLMetaElementDerived, NodeCast, NodeTypeId};
use dom::bindings::js::{Root, RootedReference}; use dom::bindings::js::{Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{Node, window_from_node};
use dom::node::{Node, NodeTypeId, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use layout_interface::{LayoutChan, Msg}; use layout_interface::{LayoutChan, Msg};
use std::ascii::AsciiExt; use std::ascii::AsciiExt;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLMeterElementBinding; use dom::bindings::codegen::Bindings::HTMLMeterElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMeterElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLMeterElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLModElementBinding; use dom::bindings::codegen::Bindings::HTMLModElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLModElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLModElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -6,15 +6,16 @@ use dom::attr::Attr;
use dom::bindings::cell::DOMRefCell; use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::HTMLObjectElementBinding; use dom::bindings::codegen::Bindings::HTMLObjectElementBinding;
use dom::bindings::codegen::Bindings::HTMLObjectElementBinding::HTMLObjectElementMethods; use dom::bindings::codegen::Bindings::HTMLObjectElementBinding::HTMLObjectElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLObjectElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLObjectElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::validitystate::ValidityState; use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use net_traits::image::base::Image; use net_traits::image::base::Image;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLOListElementBinding; use dom::bindings::codegen::Bindings::HTMLOListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLOListElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOListElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,14 +5,16 @@
use dom::attr::Attr; use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding; use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding;
use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding::HTMLOptGroupElementMethods; use dom::bindings::codegen::Bindings::HTMLOptGroupElementBinding::HTMLOptGroupElementMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, HTMLOptionElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, HTMLOptionElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use util::str::DOMString; use util::str::DOMString;

View file

@ -7,15 +7,16 @@ use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods
use dom::bindings::codegen::Bindings::HTMLOptionElementBinding; use dom::bindings::codegen::Bindings::HTMLOptionElementBinding;
use dom::bindings::codegen::Bindings::HTMLOptionElementBinding::HTMLOptionElementMethods; use dom::bindings::codegen::Bindings::HTMLOptionElementBinding::HTMLOptionElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast, HTMLElementCast, NodeCast, TextDerived}; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived}; use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLOptionElementDerived, HTMLScriptElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextDerived};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{Element, AttributeMutation, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use util::str::{DOMString, split_html_space_chars, str_join}; use util::str::{DOMString, split_html_space_chars, str_join};

View file

@ -4,14 +4,14 @@
use dom::bindings::codegen::Bindings::HTMLOutputElementBinding; use dom::bindings::codegen::Bindings::HTMLOutputElementBinding;
use dom::bindings::codegen::Bindings::HTMLOutputElementBinding::HTMLOutputElementMethods; use dom::bindings::codegen::Bindings::HTMLOutputElementBinding::HTMLOutputElementMethods;
use dom::bindings::codegen::InheritTypes::HTMLOutputElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOutputElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::validitystate::ValidityState; use dom::validitystate::ValidityState;
use util::str::DOMString; use util::str::DOMString;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLParagraphElementBinding; use dom::bindings::codegen::Bindings::HTMLParagraphElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLParagraphElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLParagraphElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLParamElementBinding; use dom::bindings::codegen::Bindings::HTMLParamElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLParamElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLParamElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLPreElementBinding; use dom::bindings::codegen::Bindings::HTMLPreElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLPreElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLPreElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLProgressElementBinding; use dom::bindings::codegen::Bindings::HTMLProgressElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLProgressElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLProgressElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLQuoteElementBinding; use dom::bindings::codegen::Bindings::HTMLQuoteElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLQuoteElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLQuoteElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -10,21 +10,23 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods;
use dom::bindings::codegen::Bindings::HTMLScriptElementBinding; use dom::bindings::codegen::Bindings::HTMLScriptElementBinding;
use dom::bindings::codegen::Bindings::HTMLScriptElementBinding::HTMLScriptElementMethods; use dom::bindings::codegen::Bindings::HTMLScriptElementBinding::HTMLScriptElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::EventTargetCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLScriptElementCast, HTMLScriptElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLScriptElementCast, HTMLScriptElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::RootedReference; use dom::bindings::js::RootedReference;
use dom::bindings::js::{JS, Root}; use dom::bindings::js::{JS, Root};
use dom::bindings::refcounted::Trusted; use dom::bindings::refcounted::Trusted;
use dom::bindings::trace::JSTraceable; use dom::bindings::trace::JSTraceable;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementCreator, ElementTypeId}; use dom::element::{AttributeMutation, ElementCreator};
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; use dom::node::{ChildrenMutation, CloneChildrenFlag, Node};
use dom::node::{NodeTypeId, document_from_node, window_from_node}; use dom::node::{document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use dom::window::ScriptHelpers; use dom::window::ScriptHelpers;
use encoding::all::UTF_8; use encoding::all::UTF_8;

View file

@ -5,17 +5,19 @@
use dom::attr::{Attr, AttrValue}; use dom::attr::{Attr, AttrValue};
use dom::bindings::codegen::Bindings::HTMLSelectElementBinding; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding;
use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLSelectElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLSelectElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::codegen::UnionTypes::HTMLElementOrLong; use dom::bindings::codegen::UnionTypes::HTMLElementOrLong;
use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement; use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::validitystate::ValidityState; use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::borrow::ToOwned; use std::borrow::ToOwned;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLSourceElementBinding; use dom::bindings::codegen::Bindings::HTMLSourceElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLSourceElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLSpanElementBinding; use dom::bindings::codegen::Bindings::HTMLSpanElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLSpanElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLSpanElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,14 +5,15 @@
use cssparser::Parser as CssParser; use cssparser::Parser as CssParser;
use dom::bindings::codegen::Bindings::HTMLStyleElementBinding; use dom::bindings::codegen::Bindings::HTMLStyleElementBinding;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLStyleElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLStyleElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{ChildrenMutation, Node, window_from_node};
use dom::node::window_from_node;
use dom::node::{ChildrenMutation, Node, NodeTypeId};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use layout_interface::{LayoutChan, Msg}; use layout_interface::{LayoutChan, Msg};
use style::media_queries::parse_media_query_list; use style::media_queries::parse_media_query_list;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTableCaptionElementBinding; use dom::bindings::codegen::Bindings::HTMLTableCaptionElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableCaptionElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTableCaptionElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -6,16 +6,15 @@ use cssparser::RGBA;
use dom::attr::{Attr, AttrValue}; use dom::attr::{Attr, AttrValue};
use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::HTMLTableCellElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableCellElementDerived};
use dom::bindings::codegen::InheritTypes::HTMLTableRowElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, HTMLTableRowElementDerived};
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::js::LayoutJS; use dom::bindings::js::LayoutJS;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::NodeTypeId;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use std::cmp::max; use std::cmp::max;
@ -24,19 +23,6 @@ use util::str::{self, DOMString, LengthOrPercentageOrAuto};
const DEFAULT_COLSPAN: u32 = 1; const DEFAULT_COLSPAN: u32 = 1;
#[derive(Copy, Clone, Debug)]
pub enum HTMLTableCellElementTypeId {
HTMLTableDataCellElement = 0,
HTMLTableHeaderCellElement = 1,
}
impl PartialEq for HTMLTableCellElementTypeId {
#[inline]
fn eq(&self, other: &HTMLTableCellElementTypeId) -> bool {
(*self as u8) == (*other as u8)
}
}
#[dom_struct] #[dom_struct]
pub struct HTMLTableCellElement { pub struct HTMLTableCellElement {
htmlelement: HTMLElement, htmlelement: HTMLElement,

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTableColElementBinding; use dom::bindings::codegen::Bindings::HTMLTableColElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableColElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTableColElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,14 +3,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTableDataCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableDataCellElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableDataCellElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableDataCellElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmltablecellelement::HTMLTableCellElement;
use dom::htmlelement::HTMLElementTypeId; use dom::node::Node;
use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId};
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -7,17 +7,18 @@ use dom::attr::{Attr, AttrValue};
use dom::bindings::codegen::Bindings::HTMLTableElementBinding; use dom::bindings::codegen::Bindings::HTMLTableElementBinding;
use dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementMethods; use dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::HTMLTableSectionElementDerived; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLTableCaptionElementCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTableElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableCaptionElementCast, HTMLTableElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast, NodeTypeId};
use dom::bindings::js::{Root, RootedReference}; use dom::bindings::js::{Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmltablecaptionelement::HTMLTableCaptionElement; use dom::htmltablecaptionelement::HTMLTableCaptionElement;
use dom::htmltablesectionelement::HTMLTableSectionElement; use dom::htmltablesectionelement::HTMLTableSectionElement;
use dom::node::{Node, NodeTypeId, document_from_node}; use dom::node::{Node, document_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use string_cache::Atom; use string_cache::Atom;

View file

@ -3,14 +3,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTableHeaderCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableHeaderCellElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableHeaderCellElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableHeaderCellElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLTableCellElementTypeId, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmltablecellelement::HTMLTableCellElement;
use dom::htmlelement::HTMLElementTypeId; use dom::node::Node;
use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId};
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -6,18 +6,17 @@ use cssparser::RGBA;
use dom::attr::Attr; use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLTableRowElementBinding::{self, HTMLTableRowElementMethods}; use dom::bindings::codegen::Bindings::HTMLTableRowElementBinding::{self, HTMLTableRowElementMethods};
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::HTMLTableDataCellElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTableDataCellElementDerived};
use dom::bindings::codegen::InheritTypes::HTMLTableHeaderCellElementDerived; use dom::bindings::codegen::InheritTypes::{HTMLTableHeaderCellElementDerived, HTMLTableRowElementDerived};
use dom::bindings::codegen::InheritTypes::HTMLTableRowElementDerived; use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::codegen::InheritTypes::NodeCast;
use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlcollection::{CollectionFilter, HTMLCollection};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use util::str::{self, DOMString}; use util::str::{self, DOMString};

View file

@ -7,19 +7,19 @@ use dom::attr::Attr;
use dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods; use dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods;
use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::{self, HTMLTableSectionElementMethods}; use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::{self, HTMLTableSectionElementMethods};
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::ElementCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId, HTMLTableRowElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableRowElementDerived, HTMLTableSectionElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast, NodeTypeId};
use dom::bindings::error::Error; use dom::bindings::error::Error;
use dom::bindings::error::{ErrorResult, Fallible}; use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::js::{Root, RootedReference}; use dom::bindings::js::{Root, RootedReference};
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::element::{AttributeMutation, Element};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlcollection::{CollectionFilter, HTMLCollection};
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmltablerowelement::HTMLTableRowElement; use dom::htmltablerowelement::HTMLTableRowElement;
use dom::node::{Node, NodeTypeId, window_from_node}; use dom::node::{Node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use std::cell::Cell; use std::cell::Cell;
use std::iter; use std::iter;

View file

@ -6,15 +6,16 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods;
use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding;
use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTemplateElementCast}; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTemplateElementCast, HTMLTemplateElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::js::{JS, MutNullableHeap, Root};
use dom::document::Document; use dom::document::Document;
use dom::documentfragment::DocumentFragment; use dom::documentfragment::DocumentFragment;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{CloneChildrenFlag, Node, document_from_node};
use dom::node::{CloneChildrenFlag, Node, NodeTypeId, document_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use util::str::DOMString; use util::str::DOMString;

View file

@ -8,21 +8,23 @@ use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding;
use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementMethods; use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::KeyboardEventCast; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementTypeId, EventTargetCast};
use dom::bindings::codegen::InheritTypes::{ElementCast, EventTargetCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLTextAreaElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementDerived, KeyboardEventCast};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{LayoutJS, Root}; use dom::bindings::js::{LayoutJS, Root};
use dom::bindings::refcounted::Trusted; use dom::bindings::refcounted::Trusted;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::event::{Event, EventBubbles, EventCancelable}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::htmlformelement::{FormControl, HTMLFormElement};
use dom::keyboardevent::KeyboardEvent; use dom::keyboardevent::KeyboardEvent;
use dom::node::{ChildrenMutation, Node, NodeDamage}; use dom::node::{ChildrenMutation, Node, NodeDamage};
use dom::node::{NodeTypeId, document_from_node, window_from_node}; use dom::node::{document_from_node, window_from_node};
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use msg::constellation_msg::ConstellationChan; use msg::constellation_msg::ConstellationChan;
use script_task::ScriptTaskEventCategory::InputEvent; use script_task::ScriptTaskEventCategory::InputEvent;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTimeElementBinding; use dom::bindings::codegen::Bindings::HTMLTimeElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTimeElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTimeElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,14 +5,15 @@
use dom::bindings::codegen::Bindings::HTMLTitleElementBinding; use dom::bindings::codegen::Bindings::HTMLTitleElementBinding;
use dom::bindings::codegen::Bindings::HTMLTitleElementBinding::HTMLTitleElementMethods; use dom::bindings::codegen::Bindings::HTMLTitleElementBinding::HTMLTitleElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, TextCast}; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTitleElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, HTMLElementCast};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLTitleElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::{ChildrenMutation, Node};
use dom::node::{ChildrenMutation, Node, NodeTypeId};
use dom::text::Text; use dom::text::Text;
use dom::virtualmethods::VirtualMethods; use dom::virtualmethods::VirtualMethods;
use util::str::DOMString; use util::str::DOMString;

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLTrackElementBinding; use dom::bindings::codegen::Bindings::HTMLTrackElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTrackElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLTrackElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLUListElementBinding; use dom::bindings::codegen::Bindings::HTMLUListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLUListElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLUListElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,13 +3,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLUnknownElementBinding; use dom::bindings::codegen::Bindings::HTMLUnknownElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLUnknownElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId, HTMLElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLUnknownElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::HTMLElement;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::Node;
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -3,14 +3,14 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::HTMLVideoElementBinding; use dom::bindings::codegen::Bindings::HTMLVideoElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLVideoElementDerived; use dom::bindings::codegen::InheritTypes::{ElementTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLMediaElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLVideoElementDerived, NodeTypeId};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::document::Document; use dom::document::Document;
use dom::element::ElementTypeId; use dom::eventtarget::EventTarget;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlmediaelement::HTMLMediaElement;
use dom::htmlelement::HTMLElementTypeId; use dom::node::Node;
use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId};
use dom::node::{Node, NodeTypeId};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]

View file

@ -5,13 +5,14 @@
use dom::bindings::codegen::Bindings::KeyboardEventBinding; use dom::bindings::codegen::Bindings::KeyboardEventBinding;
use dom::bindings::codegen::Bindings::KeyboardEventBinding::{KeyboardEventConstants, KeyboardEventMethods}; use dom::bindings::codegen::Bindings::KeyboardEventBinding::{KeyboardEventConstants, KeyboardEventMethods};
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::codegen::InheritTypes::{EventCast, KeyboardEventDerived, UIEventCast}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, KeyboardEventDerived};
use dom::bindings::codegen::InheritTypes::{UIEventCast, UIEventTypeId};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Root, RootedReference}; use dom::bindings::js::{Root, RootedReference};
use dom::bindings::utils::{Reflectable, reflect_dom_object}; use dom::bindings::utils::{Reflectable, reflect_dom_object};
use dom::event::{Event, EventTypeId}; use dom::event::Event;
use dom::uievent::{UIEvent, UIEventTypeId}; use dom::uievent::UIEvent;
use dom::window::Window; use dom::window::Window;
use msg::constellation_msg; use msg::constellation_msg;
use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER}; use msg::constellation_msg::{ALT, CONTROL, SHIFT, SUPER};
@ -48,7 +49,7 @@ impl KeyboardEventDerived for Event {
impl KeyboardEvent { impl KeyboardEvent {
fn new_inherited() -> KeyboardEvent { fn new_inherited() -> KeyboardEvent {
KeyboardEvent { KeyboardEvent {
uievent: UIEvent::new_inherited(UIEventTypeId::KeyboardEvent), uievent: UIEvent::new_inherited(),
key: Cell::new(None), key: Cell::new(None),
key_string: RefCell::new("".to_owned()), key_string: RefCell::new("".to_owned()),
code: RefCell::new("".to_owned()), code: RefCell::new("".to_owned()),

View file

@ -5,12 +5,12 @@
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::MessageEventBinding; use dom::bindings::codegen::Bindings::MessageEventBinding;
use dom::bindings::codegen::Bindings::MessageEventBinding::MessageEventMethods; use dom::bindings::codegen::Bindings::MessageEventBinding::MessageEventMethods;
use dom::bindings::codegen::InheritTypes::{EventCast, MessageEventDerived}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, MessageEventDerived};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventTypeId}; use dom::event::Event;
use dom::eventtarget::EventTarget; use dom::eventtarget::EventTarget;
use js::jsapi::{HandleValue, Heap, JSContext}; use js::jsapi::{HandleValue, Heap, JSContext};
use js::jsval::JSVal; use js::jsval::JSVal;
@ -42,7 +42,7 @@ impl MessageEvent {
origin: DOMString, origin: DOMString,
lastEventId: DOMString) -> Root<MessageEvent> { lastEventId: DOMString) -> Root<MessageEvent> {
let mut ev = box MessageEvent { let mut ev = box MessageEvent {
event: Event::new_inherited(EventTypeId::MessageEvent), event: Event::new_inherited(),
data: Heap::default(), data: Heap::default(),
origin: origin, origin: origin,
lastEventId: lastEventId, lastEventId: lastEventId,

View file

@ -5,14 +5,15 @@
use dom::bindings::codegen::Bindings::MouseEventBinding; use dom::bindings::codegen::Bindings::MouseEventBinding;
use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods; use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::codegen::InheritTypes::{EventCast, MouseEventDerived, UIEventCast}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, UIEventCast};
use dom::bindings::codegen::InheritTypes::{UIEventTypeId, MouseEventDerived};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::EventTarget; use dom::eventtarget::EventTarget;
use dom::uievent::{UIEvent, UIEventTypeId}; use dom::uievent::UIEvent;
use dom::window::Window; use dom::window::Window;
use std::cell::Cell; use std::cell::Cell;
use std::default::Default; use std::default::Default;
@ -43,7 +44,7 @@ impl MouseEventDerived for Event {
impl MouseEvent { impl MouseEvent {
fn new_inherited() -> MouseEvent { fn new_inherited() -> MouseEvent {
MouseEvent { MouseEvent {
uievent: UIEvent::new_inherited(UIEventTypeId::MouseEvent), uievent: UIEvent::new_inherited(),
screen_x: Cell::new(0), screen_x: Cell::new(0),
screen_y: Cell::new(0), screen_y: Cell::new(0),
client_x: Cell::new(0), client_x: Cell::new(0),

View file

@ -18,10 +18,13 @@ use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods;
use dom::bindings::codegen::Bindings::NodeBinding::{NodeConstants, NodeMethods}; use dom::bindings::codegen::Bindings::NodeBinding::{NodeConstants, NodeMethods};
use dom::bindings::codegen::Bindings::NodeListBinding::NodeListMethods; use dom::bindings::codegen::Bindings::NodeListBinding::NodeListMethods;
use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods;
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, DocumentCast, DocumentDerived, DocumentTypeCast}; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId};
use dom::bindings::codegen::InheritTypes::{ElementCast, ElementDerived, EventTargetCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{DocumentCast, DocumentDerived, DocumentTypeCast};
use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLLegendElementDerived}; use dom::bindings::codegen::InheritTypes::{ElementCast, ElementDerived, ElementTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLOptGroupElementDerived, NodeBase, NodeDerived}; use dom::bindings::codegen::InheritTypes::{EventTargetCast, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{HTMLElementTypeId, HTMLFieldSetElementDerived};
use dom::bindings::codegen::InheritTypes::{HTMLLegendElementDerived, HTMLOptGroupElementDerived};
use dom::bindings::codegen::InheritTypes::{NodeBase, NodeCast, NodeDerived, NodeTypeId};
use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, TextCast, TextDerived}; use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, TextCast, TextDerived};
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::conversions; use dom::bindings::conversions;
@ -33,14 +36,13 @@ use dom::bindings::js::{JS, LayoutJS, MutNullableHeap};
use dom::bindings::trace::JSTraceable; use dom::bindings::trace::JSTraceable;
use dom::bindings::trace::RootedVec; use dom::bindings::trace::RootedVec;
use dom::bindings::utils::{Reflectable, namespace_from_domstring, reflect_dom_object}; use dom::bindings::utils::{Reflectable, namespace_from_domstring, reflect_dom_object};
use dom::characterdata::{CharacterData, CharacterDataTypeId}; use dom::characterdata::CharacterData;
use dom::comment::Comment; use dom::comment::Comment;
use dom::document::{Document, DocumentSource, IsHTMLDocument}; use dom::document::{Document, DocumentSource, IsHTMLDocument};
use dom::documentfragment::DocumentFragment; use dom::documentfragment::DocumentFragment;
use dom::documenttype::DocumentType; use dom::documenttype::DocumentType;
use dom::element::{Element, ElementCreator, ElementTypeId}; use dom::element::{Element, ElementCreator};
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::htmlelement::HTMLElementTypeId;
use dom::nodelist::NodeList; use dom::nodelist::NodeList;
use dom::processinginstruction::ProcessingInstruction; use dom::processinginstruction::ProcessingInstruction;
use dom::text::Text; use dom::text::Text;
@ -277,17 +279,6 @@ impl LayoutDataRef {
} }
} }
/// The different types of nodes.
#[derive(Copy, Clone, PartialEq, Debug)]
pub enum NodeTypeId {
CharacterData(CharacterDataTypeId),
DocumentType,
DocumentFragment,
Document,
Element(ElementTypeId),
}
impl Node { impl Node {
/// Adds a new child to the end of this node's list of children. /// Adds a new child to the end of this node's list of children.
/// ///
@ -452,7 +443,7 @@ impl Node {
self.flags.get().contains(IS_IN_DOC) self.flags.get().contains(IS_IN_DOC)
} }
/// Returns the type ID of this node. Fails if this node is borrowed mutably. /// Returns the type ID of this node.
pub fn type_id(&self) -> NodeTypeId { pub fn type_id(&self) -> NodeTypeId {
match *self.eventtarget.type_id() { match *self.eventtarget.type_id() {
EventTargetTypeId::Node(type_id) => type_id, EventTargetTypeId::Node(type_id) => type_id,

View file

@ -4,12 +4,13 @@
use dom::bindings::codegen::Bindings::ProcessingInstructionBinding; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding;
use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods;
use dom::bindings::codegen::InheritTypes::ProcessingInstructionDerived; use dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, EventTargetTypeId};
use dom::bindings::codegen::InheritTypes::{NodeTypeId, ProcessingInstructionDerived};
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::characterdata::{CharacterData, CharacterDataTypeId}; use dom::characterdata::CharacterData;
use dom::document::Document; use dom::document::Document;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use util::str::DOMString; use util::str::DOMString;
/// An HTML processing instruction node. /// An HTML processing instruction node.

View file

@ -5,12 +5,12 @@
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::ProgressEventBinding; use dom::bindings::codegen::Bindings::ProgressEventBinding;
use dom::bindings::codegen::Bindings::ProgressEventBinding::ProgressEventMethods; use dom::bindings::codegen::Bindings::ProgressEventBinding::ProgressEventMethods;
use dom::bindings::codegen::InheritTypes::{EventCast, ProgressEventDerived}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, ProgressEventDerived};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use util::str::DOMString; use util::str::DOMString;
#[dom_struct] #[dom_struct]
@ -30,7 +30,7 @@ impl ProgressEventDerived for Event {
impl ProgressEvent { impl ProgressEvent {
fn new_inherited(length_computable: bool, loaded: u64, total: u64) -> ProgressEvent { fn new_inherited(length_computable: bool, loaded: u64, total: u64) -> ProgressEvent {
ProgressEvent { ProgressEvent {
event: Event::new_inherited(EventTypeId::ProgressEvent), event: Event::new_inherited(),
length_computable: length_computable, length_computable: length_computable,
loaded: loaded, loaded: loaded,
total: total total: total

View file

@ -10,15 +10,15 @@ use dom::bindings::codegen::Bindings::RangeBinding::RangeMethods;
use dom::bindings::codegen::Bindings::RangeBinding::{self, RangeConstants}; use dom::bindings::codegen::Bindings::RangeBinding::{self, RangeConstants};
use dom::bindings::codegen::Bindings::TextBinding::TextMethods; use dom::bindings::codegen::Bindings::TextBinding::TextMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, NodeCast, TextCast, TextDerived}; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId};
use dom::bindings::codegen::InheritTypes::{NodeCast, NodeTypeId, TextCast, TextDerived};
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, Root, RootedReference}; use dom::bindings::js::{JS, Root, RootedReference};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::characterdata::CharacterDataTypeId;
use dom::document::Document; use dom::document::Document;
use dom::documentfragment::DocumentFragment; use dom::documentfragment::DocumentFragment;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use std::cell::RefCell; use std::cell::RefCell;
use std::cmp::{Ord, Ordering, PartialEq, PartialOrd}; use std::cmp::{Ord, Ordering, PartialEq, PartialOrd};
use std::rc::Rc; use std::rc::Rc;

View file

@ -5,12 +5,12 @@
use dom::bindings::codegen::Bindings::EventBinding::{EventMethods}; use dom::bindings::codegen::Bindings::EventBinding::{EventMethods};
use dom::bindings::codegen::Bindings::StorageEventBinding; use dom::bindings::codegen::Bindings::StorageEventBinding;
use dom::bindings::codegen::Bindings::StorageEventBinding::{StorageEventMethods}; use dom::bindings::codegen::Bindings::StorageEventBinding::{StorageEventMethods};
use dom::bindings::codegen::InheritTypes::{EventCast}; use dom::bindings::codegen::InheritTypes::EventCast;
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference}; use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
use dom::bindings::utils::{reflect_dom_object}; use dom::bindings::utils::{reflect_dom_object};
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::storage::Storage; use dom::storage::Storage;
use util::str::DOMString; use util::str::DOMString;
@ -26,14 +26,13 @@ pub struct StorageEvent {
impl StorageEvent { impl StorageEvent {
pub fn new_inherited(type_id: EventTypeId, pub fn new_inherited(key: Option<DOMString>,
key: Option<DOMString>,
oldValue: Option<DOMString>, oldValue: Option<DOMString>,
newValue: Option<DOMString>, newValue: Option<DOMString>,
url: DOMString, url: DOMString,
storageArea: Option<&Storage>) -> StorageEvent { storageArea: Option<&Storage>) -> StorageEvent {
StorageEvent { StorageEvent {
event: Event::new_inherited(type_id), event: Event::new_inherited(),
key: key, key: key,
oldValue: oldValue, oldValue: oldValue,
newValue: newValue, newValue: newValue,
@ -51,8 +50,7 @@ impl StorageEvent {
newValue: Option<DOMString>, newValue: Option<DOMString>,
url: DOMString, url: DOMString,
storageArea: Option<&Storage>) -> Root<StorageEvent> { storageArea: Option<&Storage>) -> Root<StorageEvent> {
let ev = reflect_dom_object(box StorageEvent::new_inherited(EventTypeId::StorageEvent, let ev = reflect_dom_object(box StorageEvent::new_inherited(key, oldValue, newValue,
key, oldValue, newValue,
url, storageArea), url, storageArea),
global, global,
StorageEventBinding::Wrap); StorageEventBinding::Wrap);

View file

@ -7,16 +7,17 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::Bindings::TextBinding::{self, TextMethods}; use dom::bindings::codegen::Bindings::TextBinding::{self, TextMethods};
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::InheritTypes::NodeCast; use dom::bindings::codegen::InheritTypes::{CharacterDataCast, CharacterDataTypeId};
use dom::bindings::codegen::InheritTypes::{CharacterDataCast, TextDerived}; use dom::bindings::codegen::InheritTypes::{EventTargetTypeId, NodeCast};
use dom::bindings::codegen::InheritTypes::{NodeTypeId, TextDerived};
use dom::bindings::error::{Error, Fallible}; use dom::bindings::error::{Error, Fallible};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::js::{RootedReference}; use dom::bindings::js::{RootedReference};
use dom::characterdata::{CharacterData, CharacterDataTypeId}; use dom::characterdata::CharacterData;
use dom::document::Document; use dom::document::Document;
use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::eventtarget::EventTarget;
use dom::node::{Node, NodeTypeId}; use dom::node::Node;
use util::str::DOMString; use util::str::DOMString;
/// An HTML text node. /// An HTML text node.

View file

@ -5,25 +5,18 @@
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding; use dom::bindings::codegen::Bindings::UIEventBinding;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods; use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::codegen::InheritTypes::{EventCast, UIEventDerived}; use dom::bindings::codegen::InheritTypes::{EventCast, EventTypeId, UIEventDerived};
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root; use dom::bindings::js::Root;
use dom::bindings::js::{JS, MutNullableHeap, RootedReference}; use dom::bindings::js::{JS, MutNullableHeap, RootedReference};
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::event::{Event, EventBubbles, EventCancelable, EventTypeId}; use dom::event::{Event, EventBubbles, EventCancelable};
use dom::window::Window; use dom::window::Window;
use std::cell::Cell; use std::cell::Cell;
use std::default::Default; use std::default::Default;
use util::str::DOMString; use util::str::DOMString;
#[derive(JSTraceable, PartialEq, HeapSizeOf)]
pub enum UIEventTypeId {
MouseEvent,
KeyboardEvent,
UIEvent,
}
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#interface-UIEvent // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#interface-UIEvent
#[dom_struct] #[dom_struct]
pub struct UIEvent { pub struct UIEvent {
@ -42,16 +35,16 @@ impl UIEventDerived for Event {
} }
impl UIEvent { impl UIEvent {
pub fn new_inherited(type_id: UIEventTypeId) -> UIEvent { pub fn new_inherited() -> UIEvent {
UIEvent { UIEvent {
event: Event::new_inherited(EventTypeId::UIEvent(type_id)), event: Event::new_inherited(),
view: Default::default(), view: Default::default(),
detail: Cell::new(0), detail: Cell::new(0),
} }
} }
pub fn new_uninitialized(window: &Window) -> Root<UIEvent> { pub fn new_uninitialized(window: &Window) -> Root<UIEvent> {
reflect_dom_object(box UIEvent::new_inherited(UIEventTypeId::UIEvent), reflect_dom_object(box UIEvent::new_inherited(),
GlobalRef::Window(window), GlobalRef::Window(window),
UIEventBinding::Wrap) UIEventBinding::Wrap)
} }

View file

@ -4,6 +4,7 @@
use dom::attr::{Attr, AttrValue}; use dom::attr::{Attr, AttrValue};
use dom::bindings::codegen::InheritTypes::ElementCast; use dom::bindings::codegen::InheritTypes::ElementCast;
use dom::bindings::codegen::InheritTypes::ElementTypeId;
use dom::bindings::codegen::InheritTypes::HTMLAnchorElementCast; use dom::bindings::codegen::InheritTypes::HTMLAnchorElementCast;
use dom::bindings::codegen::InheritTypes::HTMLAppletElementCast; use dom::bindings::codegen::InheritTypes::HTMLAppletElementCast;
use dom::bindings::codegen::InheritTypes::HTMLAreaElementCast; use dom::bindings::codegen::InheritTypes::HTMLAreaElementCast;
@ -12,6 +13,7 @@ use dom::bindings::codegen::InheritTypes::HTMLBodyElementCast;
use dom::bindings::codegen::InheritTypes::HTMLButtonElementCast; use dom::bindings::codegen::InheritTypes::HTMLButtonElementCast;
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementCast; use dom::bindings::codegen::InheritTypes::HTMLCanvasElementCast;
use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::HTMLElementCast;
use dom::bindings::codegen::InheritTypes::HTMLElementTypeId;
use dom::bindings::codegen::InheritTypes::HTMLFieldSetElementCast; use dom::bindings::codegen::InheritTypes::HTMLFieldSetElementCast;
use dom::bindings::codegen::InheritTypes::HTMLFontElementCast; use dom::bindings::codegen::InheritTypes::HTMLFontElementCast;
use dom::bindings::codegen::InheritTypes::HTMLFormElementCast; use dom::bindings::codegen::InheritTypes::HTMLFormElementCast;
@ -34,11 +36,10 @@ use dom::bindings::codegen::InheritTypes::HTMLTableSectionElementCast;
use dom::bindings::codegen::InheritTypes::HTMLTemplateElementCast; use dom::bindings::codegen::InheritTypes::HTMLTemplateElementCast;
use dom::bindings::codegen::InheritTypes::HTMLTextAreaElementCast; use dom::bindings::codegen::InheritTypes::HTMLTextAreaElementCast;
use dom::bindings::codegen::InheritTypes::HTMLTitleElementCast; use dom::bindings::codegen::InheritTypes::HTMLTitleElementCast;
use dom::bindings::codegen::InheritTypes::NodeTypeId;
use dom::document::Document; use dom::document::Document;
use dom::element::{AttributeMutation, ElementTypeId}; use dom::element::AttributeMutation;
use dom::event::Event; use dom::event::Event;
use dom::htmlelement::HTMLElementTypeId;
use dom::node::NodeTypeId;
use dom::node::{ChildrenMutation, CloneChildrenFlag, Node}; use dom::node::{ChildrenMutation, CloneChildrenFlag, Node};
use string_cache::Atom; use string_cache::Atom;
use util::str::DOMString; use util::str::DOMString;

Some files were not shown because too many files have changed in this diff Show more